{
  "method": "textDocument/codeAction",
  "result": [
    {
      "title": "Extract to function in module scope",
      "kind": "refactor.extract",
      "diagnostics": [],
      "edit": {
        "changes": {
          "<PLACEHOLDER_PROJECT_URL>/refactor-extract-function-import-type.js": [
            {
              "range": {
                "start": {
                  "line": 2,
                  "character": 0
                },
                "end": {
                  "line": 2,
                  "character": 0
                }
              },
              "newText": "import type { Foo } from \"./refactor-extract-function-type-provider\";\n\n"
            },
            {
              "range": {
                "start": {
                  "line": 7,
                  "character": 2
                },
                "end": {
                  "line": 7,
                  "character": 13
                }
              },
              "newText": "(newFunction)"
            },
            {
              "range": {
                "start": {
                  "line": 8,
                  "character": 1
                },
                "end": {
                  "line": 8,
                  "character": 1
                }
              },
              "newText": "\nfunction newFunction(foo: Foo): void {\n  console.log(foo);\n}"
            }
          ]
        }
      },
      "command": {
        "title": "",
        "command": "log:org.flow:<PLACEHOLDER_PROJECT_URL>",
        "arguments": [
          "textDocument/codeAction",
          "refactor_extract",
          "Extract to function in module scope"
        ]
      }
    },
    {
      "title": "Extract to inner function in function 'test'",
      "kind": "refactor.extract",
      "diagnostics": [],
      "edit": {
        "changes": {
          "<PLACEHOLDER_PROJECT_URL>/refactor-extract-function-import-type.js": [
            {
              "range": {
                "start": {
                  "line": 7,
                  "character": 2
                },
                "end": {
                  "line": 7,
                  "character": 18
                }
              },
              "newText": "newFunction()"
            },
            {
              "range": {
                "start": {
                  "line": 7,
                  "character": 19
                },
                "end": {
                  "line": 7,
                  "character": 19
                }
              },
              "newText": "\nfunction newFunction(): void {\n    console.log(foo);\n  }"
            }
          ]
        }
      },
      "command": {
        "title": "",
        "command": "log:org.flow:<PLACEHOLDER_PROJECT_URL>",
        "arguments": [
          "textDocument/codeAction",
          "refactor_extract",
          "Extract to inner function in function 'test'"
        ]
      }
    }
  ]
}
