import { KleverOneClient, KleverOneClientConfig, ClientState, ClientMetrics, Message, ShortformSegment } from '../../core'; import { ConversationEventData } from '../../core/types'; interface UseKleverOneClientProps extends KleverOneClientConfig { } interface UseKleverOneClientReturn { client: KleverOneClient | null; state: ClientState; metrics: ClientMetrics; conversationState: ConversationEventData; messages: Message[]; connect: () => Promise; disconnect: () => void; resetConversation: () => void; reconnect: () => Promise; sendText: (message: string) => Promise; speak: { (input: string): void; (input: string[]): void; }; startRecording: () => Promise; stopRecording: () => Promise; isReady: () => boolean; isRecording: () => boolean; resize: (width: number, height: number) => void; sendAvatarNum: (avatarNum: number | string) => void; sendAvatarAppearanceChange: (avatarData: any) => void; sendPlaceBackgroundChange: (id: string) => void; resetPlaceBackground: () => void; sendBackgroundMusicUrl: (url: string) => void; sendBackgroundMusicReset: () => void; sendShortformPreview: (segments: ShortformSegment[]) => void; sendShortformDownload: () => void; sendVoiceSetting: (voiceId: string) => void; executeAction: (actionId: string) => void; stopSpeaking: () => void; sendAvatarAppearanceCategorySelected: (avatarAppearanceType: string) => void; resetAvatarAppearanceCategorySelected: () => void; sendAppearanceOptionSelected: (appearanceType: string, appearanceId: string) => void; setVolume: (volume: number) => void; getVolume: () => number; sendZoomIn: () => void; sendZoomOut: () => void; sendTurnRight: () => void; sendTurnLeft: () => void; sendMessage: (message: string | object | ArrayBuffer | Blob) => void; sendDataInChunks: (params: { payload: Uint8Array; actionName: string; chunkSize?: number; }) => Promise; } export declare function useKleverOneClient(config: UseKleverOneClientProps): UseKleverOneClientReturn; export {};