import { IDE } from ".";
import { CompletionProvider } from "./autocomplete/completionProvider";
import { ConfigHandler } from "./config/handler";
import { ContinueServerClient } from "./continueServer/stubs/client";
import { CodebaseIndexer } from "./indexing/indexCodebase";
import { FromCoreProtocol, ToCoreProtocol } from "./protocol";
import type { IMessenger } from "./util/messenger";
export declare class Core {
    private readonly messenger;
    private readonly ide;
    private readonly onWrite;
    configHandler: ConfigHandler;
    codebaseIndexerPromise: Promise<CodebaseIndexer>;
    completionProvider: CompletionProvider;
    continueServerClientPromise: Promise<ContinueServerClient>;
    private abortedMessageIds;
    private selectedModelTitle;
    private config;
    private getSelectedModel;
    invoke<T extends keyof ToCoreProtocol>(messageType: T, data: ToCoreProtocol[T][0]): ToCoreProtocol[T][1];
    constructor(messenger: IMessenger<ToCoreProtocol, FromCoreProtocol>, ide: IDE, onWrite?: (text: string) => Promise<void>);
    private indexingCancellationController;
    private refreshCodebaseIndex;
}
//# sourceMappingURL=core.d.ts.map