import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
import { SerializedError } from "@codingame/monaco-vscode-api/vscode/vs/base/common/errors";
import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
import { ILanguageModelIgnoredFilesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/ignoredFiles.service";
import { IChatMessage, IChatResponsePart, ILanguageModelChatSelector } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
import { IAuthenticationAccessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationAccessService.service";
import { IAuthenticationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service";
import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
import { SerializableObjectWithBuffers } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier";
import { MainThreadLanguageModelsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
export declare class MainThreadLanguageModels implements MainThreadLanguageModelsShape {
    private readonly _chatProviderService;
    private readonly _logService;
    private readonly _authenticationService;
    private readonly _authenticationAccessService;
    private readonly _extensionService;
    private readonly _ignoredFilesService;
    private readonly _proxy;
    private readonly _store;
    private readonly _providerRegistrations;
    private readonly _lmProviderChange;
    private readonly _pendingProgress;
    private readonly _ignoredFileProviderRegistrations;
    constructor(extHostContext: IExtHostContext, _chatProviderService: ILanguageModelsService, _logService: ILogService, _authenticationService: IAuthenticationService, _authenticationAccessService: IAuthenticationAccessService, _extensionService: IExtensionService, _ignoredFilesService: ILanguageModelIgnoredFilesService);
    dispose(): void;
    $registerLanguageModelProvider(vendor: string): void;
    $onLMProviderChange(vendor: string): void;
    $reportResponsePart(requestId: number, chunk: SerializableObjectWithBuffers<IChatResponsePart | IChatResponsePart[]>): Promise<void>;
    $reportResponseDone(requestId: number, err: SerializedError | undefined): Promise<void>;
    $unregisterProvider(vendor: string): void;
    $selectChatModels(selector: ILanguageModelChatSelector): Promise<string[]>;
    $tryStartChatRequest(extension: ExtensionIdentifier, modelIdentifier: string, requestId: number, messages: SerializableObjectWithBuffers<IChatMessage[]>, options: {}, token: CancellationToken): Promise<void>;
    $countTokens(modelId: string, value: string | IChatMessage, token: CancellationToken): Promise<number>;
    private _registerAuthenticationProvider;
    $fileIsIgnored(uri: UriComponents, token: CancellationToken): Promise<boolean>;
    $registerFileIgnoreProvider(handle: number): void;
    $unregisterFileIgnoreProvider(handle: number): void;
}
