import type * as vscode from "vscode";
import { CancellationToken } from "../../../base/common/cancellation.js";
import { UriComponents } from "../../../base/common/uri.js";
import { ExtHostChatContextShape } from "./extHost.protocol.js";
import { IExtHostRpcService } from "./extHostRpcService.js";
import { IChatContextItem } from "../../services/chat/common/chatContext.js";
export declare class ExtHostChatContext implements ExtHostChatContextShape {
    _serviceBrand: undefined;
    private _proxy;
    private _handlePool;
    private _providers;
    private _itemPool;
    private _items;
    constructor(extHostRpc: IExtHostRpcService);
    $provideChatContext(handle: number, token: CancellationToken): Promise<IChatContextItem[]>;
    $provideChatContextForResource(handle: number, options: {
        resource: UriComponents;
    }, token: CancellationToken): Promise<IChatContextItem | undefined>;
    $resolveChatContext(handle: number, context: IChatContextItem, token: CancellationToken): Promise<IChatContextItem>;
    registerChatContextProvider(selector: vscode.DocumentSelector, id: string, provider: vscode.ChatContextProvider): vscode.Disposable;
    private _getProvider;
}
