import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
import type { KustoWorker, LanguageServiceDefaults } from './monaco.contribution';
import type { IKustoWorkerImpl } from './kustoWorker';
export interface AugmentedWorker extends KustoWorker, Omit<IKustoWorkerImpl, 'setSchemaFromShowSchema' | 'getReferencedSymbols'> {
}
export interface AugmentedWorkerAccessor {
    (first: monaco.Uri, ...more: monaco.Uri[]): Promise<AugmentedWorker>;
}
/**
 * Called when Kusto language is first needed (a model has the language set)
 * @param defaults
 */
export declare function setupMode(defaults: LanguageServiceDefaults, monacoInstance: typeof globalThis.monaco): void;
export declare function getKustoWorker(): Promise<AugmentedWorkerAccessor>;
