import { type server } from "typescript";
export declare function tsLanguageServicePlugin(modules: {
    typescript: typeof import("typescript");
}): {
    create: (info: server.PluginCreateInfo) => {
        cleanupSemanticCache(): void;
        getSyntacticDiagnostics(fileName: string): import("typescript").DiagnosticWithLocation[];
        getSemanticDiagnostics(fileName: string): import("typescript").Diagnostic[];
        getSuggestionDiagnostics(fileName: string): import("typescript").DiagnosticWithLocation[];
        getCompilerOptionsDiagnostics(): import("typescript").Diagnostic[];
        getSyntacticClassifications(fileName: string, span: import("typescript").TextSpan): import("typescript").ClassifiedSpan[];
        getSyntacticClassifications(fileName: string, span: import("typescript").TextSpan, format: import("typescript").SemanticClassificationFormat): import("typescript").ClassifiedSpan[] | import("typescript").ClassifiedSpan2020[];
        getSemanticClassifications(fileName: string, span: import("typescript").TextSpan): import("typescript").ClassifiedSpan[];
        getSemanticClassifications(fileName: string, span: import("typescript").TextSpan, format: import("typescript").SemanticClassificationFormat): import("typescript").ClassifiedSpan[] | import("typescript").ClassifiedSpan2020[];
        getEncodedSyntacticClassifications(fileName: string, span: import("typescript").TextSpan): import("typescript").Classifications;
        getEncodedSemanticClassifications(fileName: string, span: import("typescript").TextSpan, format?: import("typescript").SemanticClassificationFormat): import("typescript").Classifications;
        getCompletionsAtPosition(fileName: string, position: number, options: import("typescript").GetCompletionsAtPositionOptions | undefined, formattingSettings?: import("typescript").FormatCodeSettings): import("typescript").WithMetadata<import("typescript").CompletionInfo> | undefined;
        getCompletionEntryDetails(fileName: string, position: number, entryName: string, formatOptions: import("typescript").FormatCodeOptions | import("typescript").FormatCodeSettings | undefined, source: string | undefined, preferences: import("typescript").UserPreferences | undefined, data: import("typescript").CompletionEntryData | undefined): import("typescript").CompletionEntryDetails | undefined;
        getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): import("typescript").Symbol | undefined;
        getQuickInfoAtPosition(fileName: string, position: number): import("typescript").QuickInfo | undefined;
        getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): import("typescript").TextSpan | undefined;
        getBreakpointStatementAtPosition(fileName: string, position: number): import("typescript").TextSpan | undefined;
        getSignatureHelpItems(fileName: string, position: number, options: import("typescript").SignatureHelpItemsOptions | undefined): import("typescript").SignatureHelpItems | undefined;
        getRenameInfo(fileName: string, position: number, preferences: import("typescript").UserPreferences): import("typescript").RenameInfo;
        getRenameInfo(fileName: string, position: number, options?: import("typescript").RenameInfoOptions): import("typescript").RenameInfo;
        findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, preferences: import("typescript").UserPreferences): readonly import("typescript").RenameLocation[] | undefined;
        findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): readonly import("typescript").RenameLocation[] | undefined;
        getSmartSelectionRange(fileName: string, position: number): import("typescript").SelectionRange;
        getDefinitionAtPosition(fileName: string, position: number): readonly import("typescript").DefinitionInfo[] | undefined;
        getDefinitionAndBoundSpan(fileName: string, position: number): import("typescript").DefinitionInfoAndBoundSpan | undefined;
        getTypeDefinitionAtPosition(fileName: string, position: number): readonly import("typescript").DefinitionInfo[] | undefined;
        getImplementationAtPosition(fileName: string, position: number): readonly import("typescript").ImplementationLocation[] | undefined;
        getReferencesAtPosition(fileName: string, position: number): import("typescript").ReferenceEntry[] | undefined;
        findReferences(fileName: string, position: number): import("typescript").ReferencedSymbol[] | undefined;
        getDocumentHighlights(fileName: string, position: number, filesToSearch: string[]): import("typescript").DocumentHighlights[] | undefined;
        getFileReferences(fileName: string): import("typescript").ReferenceEntry[];
        getNavigateToItems(searchValue: string, maxResultCount?: number, fileName?: string, excludeDtsFiles?: boolean, excludeLibFiles?: boolean): import("typescript").NavigateToItem[];
        getNavigationBarItems(fileName: string): import("typescript").NavigationBarItem[];
        getNavigationTree(fileName: string): import("typescript").NavigationTree;
        prepareCallHierarchy(fileName: string, position: number): import("typescript").CallHierarchyItem | import("typescript").CallHierarchyItem[] | undefined;
        provideCallHierarchyIncomingCalls(fileName: string, position: number): import("typescript").CallHierarchyIncomingCall[];
        provideCallHierarchyOutgoingCalls(fileName: string, position: number): import("typescript").CallHierarchyOutgoingCall[];
        provideInlayHints(fileName: string, span: import("typescript").TextSpan, preferences: import("typescript").UserPreferences | undefined): import("typescript").InlayHint[];
        getOutliningSpans(fileName: string): import("typescript").OutliningSpan[];
        getTodoComments(fileName: string, descriptors: import("typescript").TodoCommentDescriptor[]): import("typescript").TodoComment[];
        getBraceMatchingAtPosition(fileName: string, position: number): import("typescript").TextSpan[];
        getIndentationAtPosition(fileName: string, position: number, options: import("typescript").EditorOptions | import("typescript").EditorSettings): number;
        getFormattingEditsForRange(fileName: string, start: number, end: number, options: import("typescript").FormatCodeOptions | import("typescript").FormatCodeSettings): import("typescript").TextChange[];
        getFormattingEditsForDocument(fileName: string, options: import("typescript").FormatCodeOptions | import("typescript").FormatCodeSettings): import("typescript").TextChange[];
        getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: import("typescript").FormatCodeOptions | import("typescript").FormatCodeSettings): import("typescript").TextChange[];
        getDocCommentTemplateAtPosition(fileName: string, position: number, options?: import("typescript").DocCommentTemplateOptions, formatOptions?: import("typescript").FormatCodeSettings): import("typescript").TextInsertion | undefined;
        isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean;
        getJsxClosingTagAtPosition(fileName: string, position: number): import("typescript").JsxClosingTagInfo | undefined;
        getLinkedEditingRangeAtPosition(fileName: string, position: number): import("typescript").LinkedEditingInfo | undefined;
        getSpanOfEnclosingComment(fileName: string, position: number, onlyMultiLine: boolean): import("typescript").TextSpan | undefined;
        toLineColumnOffset?(fileName: string, position: number): import("typescript").LineAndCharacter;
        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: readonly number[], formatOptions: import("typescript").FormatCodeSettings, preferences: import("typescript").UserPreferences): readonly import("typescript").CodeFixAction[];
        getCombinedCodeFix(scope: import("typescript").CombinedCodeFixScope, fixId: {}, formatOptions: import("typescript").FormatCodeSettings, preferences: import("typescript").UserPreferences): import("typescript").CombinedCodeActions;
        applyCodeActionCommand(action: import("typescript").CodeActionCommand, formatSettings?: import("typescript").FormatCodeSettings): Promise<import("typescript").ApplyCodeActionCommandResult>;
        applyCodeActionCommand(action: import("typescript").CodeActionCommand[], formatSettings?: import("typescript").FormatCodeSettings): Promise<import("typescript").ApplyCodeActionCommandResult[]>;
        applyCodeActionCommand(action: import("typescript").CodeActionCommand | import("typescript").CodeActionCommand[], formatSettings?: import("typescript").FormatCodeSettings): Promise<import("typescript").ApplyCodeActionCommandResult | import("typescript").ApplyCodeActionCommandResult[]>;
        applyCodeActionCommand(fileName: string, action: import("typescript").CodeActionCommand): Promise<import("typescript").ApplyCodeActionCommandResult>;
        applyCodeActionCommand(fileName: string, action: import("typescript").CodeActionCommand[]): Promise<import("typescript").ApplyCodeActionCommandResult[]>;
        applyCodeActionCommand(fileName: string, action: import("typescript").CodeActionCommand | import("typescript").CodeActionCommand[]): Promise<import("typescript").ApplyCodeActionCommandResult | import("typescript").ApplyCodeActionCommandResult[]>;
        getApplicableRefactors(fileName: string, positionOrRange: number | import("typescript").TextRange, preferences: import("typescript").UserPreferences | undefined, triggerReason?: import("typescript").RefactorTriggerReason, kind?: string, includeInteractiveActions?: boolean): import("typescript").ApplicableRefactorInfo[];
        getEditsForRefactor(fileName: string, formatOptions: import("typescript").FormatCodeSettings, positionOrRange: number | import("typescript").TextRange, refactorName: string, actionName: string, preferences: import("typescript").UserPreferences | undefined, interactiveRefactorArguments?: import("typescript").InteractiveRefactorArguments): import("typescript").RefactorEditInfo | undefined;
        getMoveToRefactoringFileSuggestions(fileName: string, positionOrRange: number | import("typescript").TextRange, preferences: import("typescript").UserPreferences | undefined, triggerReason?: import("typescript").RefactorTriggerReason, kind?: string): {
            newFileName: string;
            files: string[];
        };
        organizeImports(args: import("typescript").OrganizeImportsArgs, formatOptions: import("typescript").FormatCodeSettings, preferences: import("typescript").UserPreferences | undefined): readonly import("typescript").FileTextChanges[];
        getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: import("typescript").FormatCodeSettings, preferences: import("typescript").UserPreferences | undefined): readonly import("typescript").FileTextChanges[];
        getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean, forceDtsEmit?: boolean): import("typescript").EmitOutput;
        getProgram(): import("typescript").Program | undefined;
        toggleLineComment(fileName: string, textRange: import("typescript").TextRange): import("typescript").TextChange[];
        toggleMultilineComment(fileName: string, textRange: import("typescript").TextRange): import("typescript").TextChange[];
        commentSelection(fileName: string, textRange: import("typescript").TextRange): import("typescript").TextChange[];
        uncommentSelection(fileName: string, textRange: import("typescript").TextRange): import("typescript").TextChange[];
        getSupportedCodeFixes(fileName?: string): readonly string[];
        dispose(): void;
        preparePasteEditsForFile(fileName: string, copiedTextRanges: import("typescript").TextRange[]): boolean;
        getPasteEdits(args: import("typescript").PasteEditsArgs, formatOptions: import("typescript").FormatCodeSettings): import("typescript").PasteEdits;
    };
};
