import { InitEventCallback } from './types.js'; import * as StreamingAvatar from '@heygen/streaming-avatar'; import StreamingAvatar__default, { StartAvatarRequest } from '@heygen/streaming-avatar'; export { AvatarQuality, ConnectionQuality, ElevenLabsModel, EventHandler, STTProvider, StartAvatarRequest, default as StreamingAvatar, StreamingAvatarApiConfig, StreamingEvents, StreamingTalkingMessageEvent, TaskMode, TaskType, UserTalkingMessageEvent, VoiceChatTransport, VoiceEmotion } from '@heygen/streaming-avatar'; import * as react from 'react'; declare enum StreamingAvatarSessionState { INACTIVE = "inactive", CONNECTING = "connecting", CONNECTED = "connected" } declare enum MessageSender { CLIENT = "CLIENT", AVATAR = "AVATAR" } interface Message { id: string; sender: MessageSender; content: string; } declare function configure(config: { basePath?: string; }): void; declare function reset(): void; declare const useConnectionQuality: () => { connectionQuality: StreamingAvatar.ConnectionQuality; }; declare const useConversationState: () => { isAvatarListening: boolean; startListening: () => void; stopListening: () => void; isUserTalking: boolean; isAvatarTalking: boolean; }; declare const useInterrupt: () => { interrupt: () => void; }; declare const useMessageHistory: () => { messages: Message[]; }; declare const useStreamingAvatarSession: () => { avatarRef: react.RefObject; sessionState: StreamingAvatarSessionState; stream: MediaStream | null; initAvatar: (token: string, { onStreamReady, onStreamDisconnected, onAvatarStartTalking, onAvatarStopTalking, onAvatarTalkingMessage, onAvatarEndMessage, onUserStartTalking, onUserStopTalking, onUserTalkingMessage, onUserEndMessage, }?: InitEventCallback) => StreamingAvatar__default; startAvatar: (config: StartAvatarRequest, token?: string) => Promise; stopAvatar: () => Promise; }; declare const useTextChat: () => { sendMessage: (message: string) => void; sendMessageSync: (message: string) => Promise; repeatMessage: (message: string) => Promise | undefined; repeatMessageSync: (message: string) => Promise; }; declare const useVoiceChat: () => { startVoiceChat: (isInputAudioMuted?: boolean) => Promise; stopVoiceChat: () => void; muteInputAudio: () => void; unmuteInputAudio: () => void; isMuted: boolean; isVoiceChatActive: boolean; isVoiceChatLoading: boolean; }; export { InitEventCallback, type Message, MessageSender, StreamingAvatarSessionState, configure, reset, useConnectionQuality, useConversationState, useInterrupt, useMessageHistory, useStreamingAvatarSession, useTextChat, useVoiceChat };