import { CameraFilesServiceConfig, MicrophoneFilesServiceConfig } from '../../types/fileServiceConfigs';
import { ValidateMessageBeforeSending } from '../../types/validateMessageBeforeSending';
import { CustomServiceResponse } from '../../types/customService';
import { RequestInterceptor, ResponseInterceptor } from '../../types/interceptors';
import { Messages } from '../../views/chat/messages/messages';
import { RequestSettings } from '../../types/requestSettings';
import { AiAssistant } from '../../aiAssistant';
import { Result } from '../../types/result';
import { Demo } from '../../types/demo';
import { KeyVerificationHandlers, CompletionsHandlers, ServiceFileTypes, StreamHandlers, ServiceIO } from '../serviceIO';
export declare class CustomServiceIO implements ServiceIO {
    private readonly _raw_body;
    fileTypes: ServiceFileTypes;
    camera?: CameraFilesServiceConfig;
    recordAudio?: MicrophoneFilesServiceConfig;
    canSendMessage: ValidateMessageBeforeSending;
    requestSettings: RequestSettings;
    private readonly displayServiceErrorMessages?;
    requestInterceptor: RequestInterceptor;
    responseInterceptor: ResponseInterceptor;
    private readonly _isStream;
    private readonly _total_messages_max_char_length?;
    private readonly _max_messages?;
    private readonly _isTextOnly?;
    demo?: Demo;
    validateConfigKey: boolean;
    constructor(aiAssistant: AiAssistant);
    private static canSendMessage;
    private static parseConfig;
    private processCamera;
    private processRecordAudio;
    private static cleanConfig;
    verifyKey(_key: string, _keyVerificationHandlers: KeyVerificationHandlers): void;
    private static createFormDataBody;
    private callApiWithFiles;
    callApi(messages: Messages, completionsHandlers: CompletionsHandlers, streamHandlers: StreamHandlers, files?: File[]): void;
    private getServiceIOByType;
    extractResultData(result: CustomServiceResponse): Promise<Result>;
}
//# sourceMappingURL=customServiceIO.d.ts.map