import { G as GeneralFunc, P as PromiseWithState, C as CompileResult, a as GetCssConfigFunc, b as GetScriptHoverFunc, c as GetComponentInfosFunc, d as PrettierAndPlugins, e as GetScriptDiagnosticsFunc, F as FindScriptReferencesFunc, f as GetScriptBlockSignatureFunc, g as GetCompileResultFunc, h as PrepareRenameInScriptBlockFunc, R as RenameInScriptBlockFunc, I as InsertSnippetFunc, i as GetScriptCompletionsFunc, j as GetScriptImplementationsFunc, k as GetScriptNavTreeFunc, l as GetCodeLensConfigFunc, D as DoResolveCodeLensFunc, m as GetScriptCompletionDetailFunc, n as FindScriptDefinitionsFunc, o as FindScriptTypeDefinitionsFunc } from './chunks/shared.js';
export { A as AdapterFS, p as AdapterPath, q as AdapterTsProject, r as AdapterTsProjectService, s as CompileIntermidiateFunc, t as ComponentAttributeItem, u as ComponentInfo, v as InsertSnippetParams, L as Logger, Q as QingkuaiConfiguration, S as ScriptCompletionDetail, w as ShowReferencesCommandParams, T as TsPluginQingkuaiConfig, x as createLogger } from './chunks/shared.js';
import * as vscode_languageserver_types from 'vscode-languageserver-types';
import { Hover, Diagnostic, Location, SignatureHelp, Range, WorkspaceEdit, CompletionList, CompletionItem, CodeLens, Color, ColorInformation, LocationLink } from 'vscode-languageserver-types';
import * as vscode_languageserver_textdocument from 'vscode-languageserver-textdocument';
import { SignatureHelpContext, CompletionTriggerKind } from 'vscode-languageserver';
import 'typescript';
import 'prettier';
import 'vscode-languageserver/node';
import 'qingkuai/compiler';
import 'vscode-css-languageservice';

declare enum ProjectKind {
    TS = "ts",
    JS = "js"
}

declare function generatePromiseAndResolver(): readonly [PromiseWithState, GeneralFunc];
declare function debounce<T extends GeneralFunc>(fn: T, delay: number, getId?: (...args: Parameters<T>) => any): (this: any, ...args: Parameters<T>) => void;

declare const COMPLETION_TRIGGER_CHARS: string[];
declare const SIGNATURE_RETRIGGER_CHARS: string[];
declare const SIGNATURE_TRIGGER_CHARS: string[];

declare function doHover(cr: CompileResult, offset: number, isTestingEnv: boolean, getCssConfig: GetCssConfigFunc, getScriptHover: GetScriptHoverFunc, getComponentInfos: GetComponentInfosFunc): Promise<Hover | null>;

declare function format(formater: PrettierAndPlugins, cr: CompileResult, error: (msg: string) => void): Promise<{
    range: {
        start: vscode_languageserver_textdocument.Position;
        end: vscode_languageserver_textdocument.Position;
    };
    newText: string;
}[] | undefined>;

declare function getDiagnostic(cr: CompileResult, getScriptDiagnostics: GetScriptDiagnosticsFunc): Promise<Diagnostic[]>;

declare function findReferences(cr: CompileResult, offset: number, findScriptReferences: FindScriptReferencesFunc): Promise<Location[] | null>;

declare function getSignatureHelp(cr: CompileResult, offset: number, context: SignatureHelpContext | undefined, getScriptSignature: GetScriptBlockSignatureFunc): Promise<SignatureHelp | null>;

declare function findComponentTagRanges(fileName: string, componentTag: string, getCompileRes: GetCompileResultFunc): Promise<Range[]>;

declare function rename(cr: CompileResult, offset: number, newName: string, getCompileRes: GetCompileResultFunc, renameInScriptBlock: RenameInScriptBlockFunc): Promise<WorkspaceEdit | null>;
declare function prepareRename(cr: CompileResult, offset: number, prepareRenameInScriptBlock: PrepareRenameInScriptBlockFunc): Promise<Range | null>;

declare function doComplete(cr: CompileResult, offset: number, trigger: string, isTestingEnv: boolean, projectKind: ProjectKind, insertSnippet: InsertSnippetFunc, getComponentInfos: GetComponentInfosFunc, getScriptCompletions: GetScriptCompletionsFunc, triggerKind: CompletionTriggerKind | undefined): Promise<CompletionList | CompletionItem[] | null>;

declare function findImplementations(cr: CompileResult, offset: number, getImplementations: GetScriptImplementationsFunc): Promise<Location[] | null>;

declare function getCodeLens(cr: CompileResult, getScriptNavTree: GetScriptNavTreeFunc, getCodeLensConfig: GetCodeLensConfigFunc): Promise<CodeLens[] | null>;
declare function resolveCodeLens(codeLens: CodeLens, doResolveCodeLens: DoResolveCodeLensFunc): Promise<CodeLens>;

declare function resolveScriptBlockCompletion(item: CompletionItem, getCompileRes: GetCompileResultFunc, getScriptCompletionDetail: GetScriptCompletionDetailFunc): Promise<CompletionItem>;

declare function getDocumentColors(cr: CompileResult): ColorInformation[];
declare function getColorPresentations(cr: CompileResult, range: Range, color: Color): vscode_languageserver_types.ColorPresentation[];

declare function findDefinitions(cr: CompileResult, offset: number, findScriptDefinitions: FindScriptDefinitionsFunc): Promise<vscode_languageserver_types.Location[] | LocationLink[] | null>;
declare function findTypeDefinitions(cr: CompileResult, offset: number, findTypeDefinitions: FindScriptTypeDefinitionsFunc): Promise<{
    targetRange: Range;
    targetUri: string;
    targetSelectionRange: Range;
}[] | null>;

declare const util: {
    debounce: typeof debounce;
    generatePromiseAndResolver: typeof generatePromiseAndResolver;
};

export { COMPLETION_TRIGGER_CHARS, CompileResult, PrettierAndPlugins, ProjectKind, PromiseWithState, SIGNATURE_RETRIGGER_CHARS, SIGNATURE_TRIGGER_CHARS, doComplete, doHover, findComponentTagRanges, findDefinitions, findImplementations, findReferences, findTypeDefinitions, format, getCodeLens, getColorPresentations, getDiagnostic, getDocumentColors, getSignatureHelp, prepareRename, rename, resolveCodeLens, resolveScriptBlockCompletion, util };
