/** * Avatar Types for 3D Avatar with Lip-Sync */ export interface AvatarModelConfig { url: string; fullUrl?: string; scale: number; position: [number, number, number]; rotation: number; } export interface AvatarVoiceConfig { engine: "neural" | "standard"; voiceId: string; languageCode: string; speakingRate?: number; pitch?: number; } export interface AvatarAnimationConfig { idle: string; thinking: string; talking: string[]; } export interface AvatarSceneConfig { backgroundColor: string; enableBloom: boolean; enableDepthOfField: boolean; cameraPosition: [number, number, number]; cameraFov: number; } export interface AvatarConfig { enabled: boolean; model: AvatarModelConfig; voice: AvatarVoiceConfig; animations: AvatarAnimationConfig; visemes?: Record; scene?: AvatarSceneConfig; } export type AvatarStatus = "idle" | "thinking" | "loading" | "playing"; export declare const STANDARD_VISEMES: readonly ["viseme_sil", "viseme_PP", "viseme_FF", "viseme_TH", "viseme_DD", "viseme_kk", "viseme_CH", "viseme_SS", "viseme_nn", "viseme_RR", "viseme_aa", "viseme_E", "viseme_I", "viseme_O", "viseme_U"]; export type StandardViseme = (typeof STANDARD_VISEMES)[number]; export declare const DEFAULT_SCENE_CONFIG: AvatarSceneConfig; export declare const DEFAULT_VISEME_MAPPING: Record;