import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';
import { IAuthenticationService } from '../../authentication/common/authentication';
import { IChatMLFetcher } from '../../chat/common/chatMLFetcher';
import { IConfigurationService } from '../../configuration/common/configurationService';
import { IEnvService } from '../../env/common/envService';
import { ILogService } from '../../log/common/logService';
import { IFetcherService } from '../../networking/common/fetcherService';
import { IChatEndpoint } from '../../networking/common/networking';
import { RawMessageConversionCallback } from '../../networking/common/openai';
import { IChatWebSocketManager } from '../../networking/node/chatWebSocketManager';
import { IExperimentationService } from '../../telemetry/common/nullExperimentationService';
import { ITelemetryService } from '../../telemetry/common/telemetry';
import { ITokenizerProvider } from '../../tokenizer/node/tokenizer';
import { ICAPIClientService } from '../common/capiClient';
import { IDomainService } from '../common/domainService';
import { IChatModelInformation } from '../common/endpointProvider';
import { ChatEndpoint } from './chatEndpoint';
import { IModelMetadataFetcher } from './modelMetadataFetcher';
export declare class CopilotChatEndpoint extends ChatEndpoint {
    constructor(modelMetadata: IChatModelInformation, domainService: IDomainService, capiClientService: ICAPIClientService, fetcherService: IFetcherService, envService: IEnvService, telemetryService: ITelemetryService, authService: IAuthenticationService, chatMLFetcher: IChatMLFetcher, tokenizerProvider: ITokenizerProvider, instantiationService: IInstantiationService, configurationService: IConfigurationService, experimentService: IExperimentationService, chatWebSocketService: IChatWebSocketManager, logService: ILogService);
    protected getCompletionsCallback(): RawMessageConversionCallback | undefined;
}
/**
 * Resolves the built-in Copilot model used for the `copilot-utility-small`
 * internal family (formerly `copilot-fast`). This is the small/fast model
 * that powers background utility flows like commit message generation,
 * prompt categorization, inline-chat progress messages, etc.
 *
 * The CAPI `/models` response does not flag a model as "fast" / "small",
 * so the family is selected client-side. Today that's `gpt-4o-mini`.
 */
export declare class CopilotUtilitySmallChatEndpoint {
    static readonly capiFamily: string;
    static resolve(modelFetcher: IModelMetadataFetcher, instantiationService: IInstantiationService): Promise<IChatEndpoint>;
}
/**
 * Resolves the built-in Copilot model used for the `copilot-utility`
 * internal family (formerly `copilot-base`). This is the API-marked
 * default base model — whichever model the CAPI `/models` response
 * flags with `is_chat_fallback === true`.
 */
export declare class CopilotUtilityChatEndpoint {
    static resolve(modelFetcher: IModelMetadataFetcher, instantiationService: IInstantiationService): Promise<IChatEndpoint>;
}
//# sourceMappingURL=copilotChatEndpoint.d.ts.map