import { CancellationToken } from "../../../../base/common/cancellation.js";
import { IDisposable } from "../../../../base/common/lifecycle.js";
import { ICodeMapperProvider, ICodeMapperRequest, ICodeMapperResponse, ICodeMapperResult } from "@codingame/monaco-vscode-chat-service-override/vscode/vs/workbench/contrib/chat/common/chatCodeMapperService";
import { IChatResponseModel } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatModel";
export declare const ICodeMapperService: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<ICodeMapperService>;
export interface ICodeMapperService {
    readonly _serviceBrand: undefined;
    registerCodeMapperProvider(handle: number, provider: ICodeMapperProvider): IDisposable;
    mapCode(request: ICodeMapperRequest, response: ICodeMapperResponse, token: CancellationToken): Promise<ICodeMapperResult | undefined>;
    mapCodeFromResponse(responseModel: IChatResponseModel, response: ICodeMapperResponse, token: CancellationToken): Promise<ICodeMapperResult | undefined>;
}
