///
////type Foo = {
//// fn:
//// keyof T extends string
//// ? /*a*/(x: `${keyof T}Foo`, callback: (y: keyof T) => void) => void/*b*/
//// : never;
////}
goTo.select("a", "b");
edit.applyRefactor({
refactorName: "Extract type",
actionName: "Extract to type alias",
actionDescription: "Extract to type alias",
newContent: [
"type /*RENAME*/NewType = (x: `${keyof T}Foo`, callback: (y: keyof T) => void) => void;",
"",
"type Foo = {",
" fn:",
" keyof T extends string",
" ? NewType",
" : never;",
"}"
].join("\n"),
});