import { KeyVerificationDetails } from '../../types/keyVerificationDetails';
import { MessageContentI } from '../../types/messagesInternal';
import { Messages } from '../../views/chat/messages/messages';
import { Response as ResponseI } from '../../types/response';
import { BuildHeadersFunc } from '../../types/headers';
import { OpenAIChat } from '../../types/openAI';
import { OpenAIBaseIO } from './openAIBaseIO';
import { APIKey } from '../../types/APIKey';
import { DeepChat } from '../../deepChat';
import { OpenAIResult } from '../../types/openAIResult';
export declare class OpenAIChatIO extends OpenAIBaseIO {
    keyHelpUrl: string;
    url: string;
    private _functionStreamInProgress;
    private static readonly IMAGE_BASE64_PREFIX;
    private _conversationId?;
    private readonly _useConversation;
    private readonly _conversationLoadLimit?;
    private readonly _urlSegments;
    fetchHistory?: () => Promise<ResponseI[]>;
    constructor(deepChat: DeepChat, keyVerificationDetailsArg?: KeyVerificationDetails, buildHeadersFuncArg?: BuildHeadersFunc, apiKeyArg?: APIKey, configArg?: true | OpenAIChat);
    protected processConfig(config: OpenAIChat, deepChat: DeepChat): void;
    private static buildUrlSegments;
    private cleanConfig;
    private static getFileContent;
    private static getContent;
    private fetchHistoryFunc;
    private static filterCompleted;
    private processConversationHistory;
    private preprocessBody;
    private createConversation;
    callServiceAPI(messages: Messages, pMessages: MessageContentI[]): Promise<void>;
    extractResultData(result: OpenAIResult, prevBody?: OpenAIChat): Promise<ResponseI>;
    private extractResult;
    private handleStreamedResponsesFunctionCall;
    private handleFileGenerationResponse;
    private static generateImageFile;
    private handleResponsesFunctionCalls;
}
//# sourceMappingURL=openAIChatIO.d.ts.map