import { AddonAPI, CodeActionFunctionParams } from '../../../utils/addon-api'; import { Command, CodeAction } from 'vscode-languageserver/node'; import Server from '../../../server'; import { Project } from '../../../project'; import { SourceLocation } from 'estree'; export interface INodeSelectionInfo { selection: string | undefined; location: SourceLocation; } export default class BaseCodeActionProvider implements AddonAPI { server: Server; project: Project; onInit(server: Server, project: Project): void; metaForRange(params: CodeActionFunctionParams): null | INodeSelectionInfo; onCodeAction(_: string, __: CodeActionFunctionParams): Promise<(Command | CodeAction)[] | undefined | null>; }