import { AvatarStreamError } from '../lib/error'; import { AudioStream, Star, TextStream } from '../types/common'; interface Props { forceWebRTC?: boolean; isDebug?: boolean; star: Star; onError?: (error: AvatarStreamError) => void; onPause?: () => void; onPlaying?: () => void; onSpeechEnd?: () => void; onSpeak?: (textStream: TextStream) => void; onReconnecting?: () => void; onReconnected?: () => void; reloadOnFocus?: boolean; } interface UseAvatarStreamReturn { speak: (audioResponse: Response, callback?: { onSpeak?: (textStream: TextStream) => void; onAudioChunk?: (audioChunk: AudioStream) => void; onBoundary?: (boundary: string) => void; }) => Promise; pause: () => void; resume: () => void; stop: () => void; initPlayer: () => Promise; initWebRTC: ({ baseUrl, token, starUID, }: { baseUrl?: string; token: string; starUID: string; }) => Promise; isConnected: boolean | undefined; isWebRTC: boolean; isSpeechPaused: boolean; isSpeakLoading: boolean; isAvatarTalking: boolean; streamRefs: { audio: React.RefObject; video: React.RefObject; idleVideo: React.RefObject; videoSrc: string | undefined; idleVideoSrc: string | undefined; }; } export declare const useAvatarStream: ({ onError, onPause, onPlaying, onSpeechEnd, onSpeak, onReconnecting, onReconnected, isDebug, forceWebRTC, reloadOnFocus, star, }: Props) => UseAvatarStreamReturn; export {};