import { CompletionsHandlers, KeyVerificationHandlers, ServiceFileTypes, ServiceIO, StreamHandlers } from '../serviceIO'; import { CameraFilesServiceConfig, FilesUploader, MicrophoneFilesServiceConfig } from '../../types/fileServiceConfigs'; import { ValidateMessageBeforeSending } from '../../types/validateMessageBeforeSending'; import { RequestInterceptor, ResponseInterceptor } from '../../types/interceptors'; import { RequestSettings, ServiceCallConfig } from '../../types/requestSettings'; import { KeyVerificationDetails } from '../../types/keyVerificationDetails'; import { AudioFormat, MicrophoneStyles } from '../../types/microphone'; import { Messages } from '../../views/chat/messages/messages'; import { GenericObject } from '../../types/object'; import { FILE_TYPES } from '../../types/fileTypes'; import { CustomStyle } from '../../types/styles'; import { AiAssistant } from '../../aiAssistant'; import { Button } from '../../types/button'; type BuildHeadersFunc = (key: string) => GenericObject; type Camera = { camera?: true | { button?: Button; modalContainerStyle?: CustomStyle; }; }; type Microphone = { microphone?: true | { styles?: MicrophoneStyles; maxDurationSeconds?: number; format?: AudioFormat; }; }; type Config = true | (FilesUploader & ServiceCallConfig & Camera & Microphone); export declare class BaseServideIO implements ServiceIO { key?: string; validateConfigKey: boolean; insertKeyPlaceholderText: string; getKeyLink: string; canSendMessage: ValidateMessageBeforeSending; requestSettings?: RequestSettings; requestInterceptor: RequestInterceptor; responseInterceptor: ResponseInterceptor; fileTypes?: ServiceFileTypes; camera?: CameraFilesServiceConfig; recordAudio?: MicrophoneFilesServiceConfig; private readonly keyVerificationDetails; private readonly buildHeadersFunc; constructor(aiAssistant: AiAssistant, keyVerificationDetails: KeyVerificationDetails, buildHeadersFunc: BuildHeadersFunc, config?: Config, fileType?: FILE_TYPES); private processAudioConfig; private processImagesConfig; private buildRequestSettings; private cleanServiceConfig; private static canSendMessage; private keyAuthenticated; verifyKey(key: string, keyVerificationHandlers: KeyVerificationHandlers): void; callApi(_: Messages, __: CompletionsHandlers, ___: StreamHandlers, ____?: File[]): void; } export {}; //# sourceMappingURL=baseServiceIO.d.ts.map