import { OpenAIConverseResult } from '../../types/openAIResult';
import { KeyVerificationDetails } from '../../types/keyVerificationDetails';
import { FetchFunc } from '../../utils/HTTP/requestUtils';
import { ChatFunctionHandler, OpenAIChat } from '../../types/openAI';
import { MessageContentI } from '../../types/messagesInternal';
import { Messages } from '../../views/chat/messages/messages';
import { Response as ResponseI } from '../../types/response';
import { DirectServiceIO } from '../utils/directServiceIO';
import { BuildHeadersFunc } from '../../types/headers';
import { APIKey } from '../../types/APIKey';
import { DeepChat } from '../../deepChat';
export declare class OpenAIChatIO extends DirectServiceIO {
    insertKeyPlaceholderText: string;
    keyHelpUrl: string;
    url: string;
    permittedErrorPrefixes: string[];
    _functionHandler?: ChatFunctionHandler;
    private _streamToolCalls?;
    asyncCallInProgress: boolean;
    private readonly _systemMessage;
    constructor(deepChat: DeepChat, keyVerificationDetailsArg?: KeyVerificationDetails, buildHeadersFuncArg?: BuildHeadersFunc, apiKeyArg?: APIKey, configArg?: true | OpenAIChat);
    private static generateSystemMessage;
    private cleanConfig;
    private static getContent;
    private preprocessBody;
    callServiceAPI(messages: Messages, pMessages: MessageContentI[]): Promise<void>;
    extractResultData(result: OpenAIConverseResult, fetchFunc?: FetchFunc, prevBody?: OpenAIChat): Promise<ResponseI>;
    private extractStreamResult;
    private handleTools;
}
//# sourceMappingURL=openAIChatIO.d.ts.map