import * as lsp from 'vscode-languageserver';
export declare enum MetadataLoadLevel {
    None = "None",
    Core = "Core",
    Builtin = "Builtin",
    Default = "Default"
}
export interface MetadataConfig {
    loadLevel: keyof typeof MetadataLoadLevel;
    localization: string;
}
export interface DataCatalogConfig {
    enabled: boolean;
}
export declare class Server {
    connection: lsp.IConnection;
    private store;
    private diagnosticsProvider;
    private navigationProvider;
    private completionsProvider;
    private signaturesProvider;
    private definitionsProvider;
    private hoverProvider;
    private referenceProvider;
    private renameProvider;
    private documents;
    private initParams;
    private indexing;
    private ready;
    private config;
    private documentUpdateRequests;
    private createProvider;
    createConnection(): lsp.IConnection;
    log(msg: string, ...params: any[]): void;
    showErrorMessage(msg: string): void;
    private flushDocument;
    protected requestReindex(): Promise<void>;
    private reindex;
    private onInitialize;
    private onInitialized;
    private onDidChangeConfiguration;
    private onDidChangeWorkspaceFolders;
    private onDidChangeContent;
    private onUpdateContent;
    private onDiagnostics;
    private onDidOpen;
    private onDidClose;
    private onDidSave;
    private onDidChangeWatchedFiles;
    private syncSourceFile;
    private onCompletion;
    private onCompletionResolve;
    private onDocumentSymbol;
    private onWorkspaceSymbol;
    private onSignatureHelp;
    private onDefinition;
    private onHover;
    private onReferences;
    private onRenameRequest;
    private onPrepareRename;
    private onRenamePrefetch;
    private onDiagnoseDocumentRecursively;
}
export declare function createServer(): lsp.IConnection;
