UNPKG

@marcosremar/cabecao

Version:

Modern React 3D avatar component with chat and lip-sync capabilities

1,893 lines (1,872 loc) 49.3 kB
import * as react_jsx_runtime from 'react/jsx-runtime'; import * as react from 'react'; declare function Cabecao(props: any): react_jsx_runtime.JSX.Element; declare function ChatProvider({ children, apiUrl, r2Url, wsUrl }: { children: any; apiUrl: any; r2Url: any; wsUrl: any; }): react_jsx_runtime.JSX.Element; declare function useChat(): any; declare function UI({ hidden, autoStartVAD, showStartButton, vadEnabled, ...props }: { [x: string]: any; hidden: any; autoStartVAD?: boolean; showStartButton?: boolean; vadEnabled?: boolean; }): react_jsx_runtime.JSX.Element; /** * Hook to manage gesture animations for the avatar */ declare function useGestures(avatarRef: any, onGestureStateChange: any, options?: {}): { playGesture: (gestureName: any, duration?: number, mirror?: boolean, transitionMs?: number) => void; stopGesture: (transitionMs?: number) => void; currentGesture: react.MutableRefObject<any>; }; declare function useEmotes(avatarRef: any, options?: {}): { currentEmote: any; currentMood: any; isPlaying: boolean; playEmote: (emoteName: any) => void; playEmoji: (emoji: any) => void; setMood: (mood: any) => void; reset: (smooth?: any, duration?: any) => void; availableEmotes: string[]; availableMoods: string[]; emojiMappings: { '\uD83D\uDE0A': string; '\uD83D\uDE00': string; '\uD83D\uDE03': string; '\uD83D\uDE04': string; '\uD83D\uDE01': string; '\uD83D\uDE06': string; '\uD83D\uDE02': string; '\uD83E\uDD23': string; '\uD83D\uDE0D': string; '\uD83E\uDD70': string; '\uD83D\uDE18': string; '\uD83D\uDE17': string; '\uD83D\uDE19': string; '\uD83D\uDE1A': string; '\uD83D\uDE14': string; '\uD83D\uDE1E': string; '\uD83D\uDE1F': string; '\u2639\uFE0F': string; '\uD83D\uDE2D': string; '\uD83D\uDE22': string; '\uD83D\uDE21': string; '\uD83D\uDE20': string; '\uD83E\uDD2C': string; '\uD83D\uDE31': string; '\uD83D\uDE28': string; '\uD83D\uDE30': string; '\uD83D\uDE32': string; '\uD83D\uDE2E': string; '\uD83D\uDE2F': string; '\uD83E\uDD14': string; '\uD83D\uDE0F': string; '\uD83D\uDE34': string; '\uD83D\uDE2A': string; '\uD83E\uDD22': string; '\uD83E\uDD2E': string; '\uD83D\uDE10': string; '\uD83D\uDE11': string; '\uD83D\uDE44': string; '\uD83D\uDE09': string; '\uD83D\uDE1B': string; '\uD83D\uDE1D': string; '\uD83D\uDE1C': string; '\uD83E\uDD2A': string; '\uD83D\uDE0B': string; '\uD83D\uDE12': string; '\uD83D\uDE2C': string; '\uD83D\uDE33': string; '\uD83E\uDD7A': string; '\uD83D\uDE15': string; '\uD83D\uDE41': string; '\uD83D\uDE29': string; '\uD83D\uDE2B': string; '\uD83D\uDE16': string; '\uD83D\uDE35': string; '\uD83D\uDE35\u200D\uD83D\uDCAB': string; '\uD83E\uDD74': string; '\uD83D\uDE36': string; '\uD83D\uDE36\u200D\uD83C\uDF2B\uFE0F': string; '\uD83E\uDEE5': string; '\uD83D\uDE0E': string; '\uD83E\uDD78': string; '\uD83E\uDD13': string; '\uD83E\uDDD0': string; '\uD83D\uDE08': string; '\uD83D\uDC7F': string; '\uD83E\uDD2F': string; '\uD83E\uDD76': string; '\uD83E\uDD75': string; '\uD83D\uDE37': string; '\uD83E\uDD12': string; '\uD83E\uDD15': string; '\uD83E\uDD27': string; '\uD83D\uDE07': string; '\uD83E\uDD73': string; '\uD83E\uDD79': string; '\uD83E\uDEE0': string; '\uD83E\uDD17': string; '\uD83E\uDEE3': string; '\uD83E\uDD2D': string; '\uD83E\uDEE2': string; '\uD83E\uDEE1': string; '\uD83E\uDD2B': string; '\uD83E\uDEE4': string; '\uD83D\uDE13': string; '\uD83D\uDE25': string; '\uD83E\uDD71': string; '\uD83D\uDE24': string; '\uD83D\uDE2E\u200D\uD83D\uDCA8': string; '\uD83D\uDE0C': string; '\uD83E\uDD24': string; '\uD83D\uDE43': string; '\uD83D\uDE26': string; '\uD83D\uDE27': string; '\uD83D\uDE38': string; '\uD83D\uDE39': string; '\uD83D\uDE3A': string; '\uD83D\uDE3B': string; '\uD83D\uDE3C': string; '\uD83D\uDE3D': string; '\uD83D\uDE3E': string; '\uD83D\uDE3F': string; '\uD83D\uDE40': string; }; }; declare namespace readyPlayerMePreset { let persistExpressions: boolean; let smoothReset: boolean; let resetDuration: number; let transitionDuration: number; } declare namespace timedExpressionPreset { let emoteDuration: number; let autoReset: boolean; } declare namespace eternalExpressionPreset { let emoteDuration_1: any; export { emoteDuration_1 as emoteDuration }; let autoReset_1: boolean; export { autoReset_1 as autoReset }; } declare function useCustomEmotes(options?: {}): { activeEmote: any; emoteValues: {}; playEmote: (emoteName: any, duration?: any) => void; resetEmote: () => void; getCurrentValues: () => {}; addCustomEmote: (name: any, values: any) => void; intensity: any; transitionSpeed: any; availableEmotes: string[]; }; declare function useHeadControls(groupRef: any, options?: {}): { rotation: any; pitch: any; headBone: any; neckBone: any; setRotation: react.Dispatch<any>; setPitch: react.Dispatch<any>; lookAt: (x: any, y: any) => void; reset: () => void; applyHeadMovement: (deltaTime?: number) => void; headBoneRef: react.MutableRefObject<any>; neckBoneRef: react.MutableRefObject<any>; }; declare function useListening(options?: {}): { isListening: boolean; listeningStartTime: any; startListening: () => void; stopListening: () => void; getNoddingAngle: () => number; nodSpeed: any; nodAmplitude: any; }; declare function useBlink(options?: {}): { isBlinking: boolean; leftWink: boolean; rightWink: boolean; blink: () => void; winkLeft: (duration?: number) => void; winkRight: (duration?: number) => void; getMorphTargetValues: () => { eyeBlinkLeft: number; eyeBlinkRight: number; }; enabled: any; minInterval: any; maxInterval: any; blinkDuration: any; }; declare function useLipsync(options?: {}): { activeVisemes: any[]; processVisemes: (lipsyncData: any, currentTime: any, expressionValues?: {}) => {}; getVisemeMorphTargets: () => any[]; isViseme: (morphTarget: any) => boolean; getResetValues: (excludeTargets?: any[]) => {}; visemeMapping: any; visemeIntensity: any; visemeLerpSpeed: any; resetSpeed: any; }; declare function useAvatarLoader(modelPath: any, setAnimation: any, avatarConfigs?: any[], mixer?: any, actions?: any, onLoadStart?: any, onLoadComplete?: any): { loadAvatar: (targetPath: any) => void; reloadAvatar: () => void; isLoading: boolean; getAvatarConfig: (path: any) => any; getAvatarGender: (path: any) => any; getAvatarName: (path: any) => any; getIdleAnimationForGender: (gender: any) => "Idle"; }; declare function useBlinking(setBlink: any, config?: {}): void; declare function useMicroMovements(groupRef: any, config?: {}): void; declare function useListeningAnimation(isListening: any, groupRef: any, neckBoneRef: any, headBoneRef: any, config?: {}): void; declare namespace defaultNaturalityConfig { namespace breathing { let enabled: boolean; let rate: number; let intensity: number; let variation: number; let chestMovement: number; let randomOffset: boolean; } namespace blinking { let enabled_1: boolean; export { enabled_1 as enabled }; export let interval: number[]; export let doubleBlink: number; export let blinkDuration: number[]; } namespace eyeMovements { let enabled_2: boolean; export { enabled_2 as enabled }; export let speed: number; export let amplitude: number; export let focusMode: boolean; export let randomSaccades: number; export namespace restingGaze { let x: number; let y: number; } } namespace microMovements { let enabled_3: boolean; export { enabled_3 as enabled }; export let weightShift: number; export let weightShiftSpeed: number; export let postureAdjust: number; export let shoulderMovement: number; export let neckAdjustments: number; } namespace listeningAnimation { let enabled_4: boolean; export { enabled_4 as enabled }; export let rhythmVariation: number[]; export let headNodVariation: number; export let pauseProbability: number; export let microRotations: boolean; } } declare function useNaturalBehaviors({ groupRef, neckBoneRef, headBoneRef, setBlink, isListening, config }: { groupRef: any; neckBoneRef: any; headBoneRef: any; setBlink: any; isListening: any; config?: {}; }): void; /** * Mirror a gesture (swap left/right and invert appropriate axes) */ declare function mirrorGesture(gesture: any): {}; /** * Get all unique bone names from gesture templates */ declare function getAllGestureBones(): any[]; declare namespace gestureTemplates { let handup: { 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let index: { 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let ok: { 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let thumbup: { 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let thumbdown: { 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let salute: { 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let side: { 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let shrug: { 'Neck.rotation': { x: number; y: number; z: number; }; 'Head.rotation': { x: number; y: number; z: number; }; 'RightShoulder.rotation': { x: number; y: number; z: number; }; 'RightArm.rotation': { x: number; y: number; z: number; }; 'RightForeArm.rotation': { x: number; y: number; z: number; }; 'RightHand.rotation': { x: number; y: number; z: number; }; 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'RightHandThumb1.rotation': { x: number; y: number; z: number; }; 'RightHandThumb2.rotation': { x: number; y: number; z: number; }; 'RightHandThumb3.rotation': { x: number; y: number; z: number; }; 'RightHandIndex1.rotation': { x: number; y: number; z: number; }; 'RightHandIndex2.rotation': { x: number; y: number; z: number; }; 'RightHandIndex3.rotation': { x: number; y: number; z: number; }; 'RightHandMiddle1.rotation': { x: number; y: number; z: number; }; 'RightHandMiddle2.rotation': { x: number; y: number; z: number; }; 'RightHandMiddle3.rotation': { x: number; y: number; z: number; }; 'RightHandRing1.rotation': { x: number; y: number; z: number; }; 'RightHandRing2.rotation': { x: number; y: number; z: number; }; 'RightHandRing3.rotation': { x: number; y: number; z: number; }; 'RightHandPinky1.rotation': { x: number; y: number; z: number; }; 'RightHandPinky2.rotation': { x: number; y: number; z: number; }; 'RightHandPinky3.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; let namaste: { 'RightShoulder.rotation': { x: number; y: number; z: number; }; 'RightArm.rotation': { x: number; y: number; z: number; }; 'RightForeArm.rotation': { x: number; y: number; z: number; }; 'RightHand.rotation': { x: number; y: number; z: number; }; 'LeftShoulder.rotation': { x: number; y: number; z: number; }; 'LeftArm.rotation': { x: number; y: number; z: number; }; 'LeftForeArm.rotation': { x: number; y: number; z: number; }; 'LeftHand.rotation': { x: number; y: number; z: number; }; 'RightHandThumb1.rotation': { x: number; y: number; z: number; }; 'RightHandThumb2.rotation': { x: number; y: number; z: number; }; 'RightHandThumb3.rotation': { x: number; y: number; z: number; }; 'RightHandIndex1.rotation': { x: number; y: number; z: number; }; 'RightHandIndex2.rotation': { x: number; y: number; z: number; }; 'RightHandIndex3.rotation': { x: number; y: number; z: number; }; 'RightHandMiddle1.rotation': { x: number; y: number; z: number; }; 'RightHandMiddle2.rotation': { x: number; y: number; z: number; }; 'RightHandMiddle3.rotation': { x: number; y: number; z: number; }; 'RightHandRing1.rotation': { x: number; y: number; z: number; }; 'RightHandRing2.rotation': { x: number; y: number; z: number; }; 'RightHandRing3.rotation': { x: number; y: number; z: number; }; 'RightHandPinky1.rotation': { x: number; y: number; z: number; }; 'RightHandPinky2.rotation': { x: number; y: number; z: number; }; 'RightHandPinky3.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb1.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb2.rotation': { x: number; y: number; z: number; }; 'LeftHandThumb3.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex1.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex2.rotation': { x: number; y: number; z: number; }; 'LeftHandIndex3.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle1.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle2.rotation': { x: number; y: number; z: number; }; 'LeftHandMiddle3.rotation': { x: number; y: number; z: number; }; 'LeftHandRing1.rotation': { x: number; y: number; z: number; }; 'LeftHandRing2.rotation': { x: number; y: number; z: number; }; 'LeftHandRing3.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky1.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky2.rotation': { x: number; y: number; z: number; }; 'LeftHandPinky3.rotation': { x: number; y: number; z: number; }; }; } /** * Get all available morph target names */ declare function getAllMorphTargets(): any[]; /** * Emote templates based on TalkingHead project * Each emote contains morph target values for facial expressions */ declare const emoteTemplates: { neutral: { browInnerUp: number; browDownLeft: number; browDownRight: number; browOuterUpLeft: number; browOuterUpRight: number; eyeSquintLeft: number; eyeSquintRight: number; eyeWideLeft: number; eyeWideRight: number; mouthSmileLeft: number; mouthSmileRight: number; mouthFrownLeft: number; mouthFrownRight: number; mouthOpen: number; mouthPucker: number; eyeLookUpLeft: number; eyeLookUpRight: number; eyeLookDownLeft: number; eyeLookDownRight: number; }; smile: { browInnerUp: number; eyeSquintLeft: number; eyeSquintRight: number; mouthSmile: number; noseSneerLeft: number; noseSneerRight: number; }; grin: { browInnerUp: number; jawOpen: number; mouthDimpleLeft: number; mouthDimpleRight: number; mouthOpen: number; mouthPressLeft: number; mouthPressRight: number; mouthRollLower: number; mouthShrugUpper: number; mouthSmile: number; mouthUpperUpLeft: number; mouthUpperUpRight: number; noseSneerLeft: number; noseSneerRight: number; }; bigSmile: { browInnerUp: number; eyeWideLeft: number; eyeWideRight: number; jawOpen: number; mouthDimpleLeft: number; mouthDimpleRight: number; mouthOpen: number; mouthPressLeft: number; mouthPressRight: number; mouthRollLower: number; mouthShrugUpper: number; mouthSmile: number; mouthUpperUpLeft: number; mouthUpperUpRight: number; noseSneerLeft: number; noseSneerRight: number; }; laughing: { mouthSmileLeft: number; mouthSmileRight: number; mouthOpen: number; eyeSquintLeft: number; eyeSquintRight: number; browInnerUp: number; }; love: { mouthSmileLeft: number; mouthSmileRight: number; eyeSquintLeft: number; eyeSquintRight: number; browInnerUp: number; mouthPucker: number; }; kiss: { mouthPucker: number; eyeSquintLeft: number; eyeSquintRight: number; browInnerUp: number; }; sad: { browInnerUp: number; eyeSquintLeft: number; eyeSquintRight: number; eyesClosed: number; bodyRotateX: number; mouthClose: number; mouthFrownLeft: number; mouthFrownRight: number; mouthPressLeft: number; mouthPressRight: number; mouthPucker: number; mouthRollLower: number; mouthRollUpper: number; mouthUpperUpLeft: number; mouthUpperUpRight: number; }; crying: { mouthFrownLeft: number; mouthFrownRight: number; mouthOpen: number; browInnerUp: number; eyeSquintLeft: number; eyeSquintRight: number; }; angry: { browDownLeft: number; browDownRight: number; eyesLookUp: number; jawForward: number; mouthFrownLeft: number; mouthFrownRight: number; bodyRotateX: number; }; mad: { browDownLeft: number; browDownRight: number; mouthFrownLeft: number; mouthFrownRight: number; eyeSquintLeft: number; eyeSquintRight: number; }; shocked: { browInnerUp: number; eyeWideLeft: number; eyeWideRight: number; jawOpen: number; mouthFunnel: number; }; surprised: { browInnerUp: number; eyeWideLeft: number; eyeWideRight: number; jawOpen: number; mouthFunnel: number; }; thinking: { browDownLeft: number; browOuterUpRight: number; eyeSquintLeft: number; mouthFrownLeft: number; mouthFrownRight: number; mouthLowerDownLeft: number; mouthPressRight: number; mouthPucker: number; mouthRight: number; mouthRollLower: number; mouthRollUpper: number; }; smirk: { mouthSmileLeft: number; mouthSmileRight: number; eyeSquintLeft: number; browOuterUpLeft: number; }; sleepy: { eyeSquintLeft: number; eyeSquintRight: number; eyeLookDownLeft: number; eyeLookDownRight: number; mouthOpen: number; }; disgusted: { browDownLeft: number; browDownRight: number; noseSneerLeft: number; noseSneerRight: number; mouthFrownLeft: number; mouthFrownRight: number; mouthPucker: number; eyeSquintLeft: number; eyeSquintRight: number; }; straight: { browInnerUp: number; eyeWideLeft: number; eyeWideRight: number; mouthStretchLeft: number; mouthStretchRight: number; }; eyeRoll: { browInnerUp: number; eyeWideLeft: number; eyeWideRight: number; eyesRotateX: number; bodyRotateX: number; mouthPucker: number; mouthRollLower: number; mouthRollUpper: number; mouthShrugLower: number; mouthSmile: number; }; wink: { eyeSquintLeft: number; eyeSquintRight: number; mouthSmileLeft: number; mouthSmileRight: number; }; tongueOut: { tongueOut: number; mouthOpen: number; eyeSquintLeft: number; eyeSquintRight: number; }; blowingKiss: { mouthPucker: number; eyeSquintLeft: number; eyeSquintRight: number; browInnerUp: number; cheekSquintLeft: number; cheekSquintRight: number; }; kissing: { mouthPucker: number; eyeSquintLeft: number; eyeSquintRight: number; browInnerUp: number; }; unamused: { eyeSquintLeft: number; eyeSquintRight: number; mouthFrownLeft: number; mouthFrownRight: number; browDownLeft: number; browDownRight: number; eyeLookDownLeft: number; eyeLookDownRight: number; }; grimacing: { browDownLeft: number; browDownRight: number; browInnerUp: number; mouthDimpleLeft: number; mouthDimpleRight: number; mouthLowerDownLeft: number; mouthLowerDownRight: number; mouthPressLeft: number; mouthPressRight: number; mouthPucker: number; mouthSmile: number; mouthSmileLeft: number; mouthSmileRight: number; mouthStretchLeft: number; mouthStretchRight: number; mouthUpperUpLeft: number; mouthUpperUpRight: number; }; flushed: { eyeWideLeft: number; eyeWideRight: number; browOuterUpLeft: number; browOuterUpRight: number; mouthOpen: number; cheekSquintLeft: number; cheekSquintRight: number; }; pleading: { eyeWideLeft: number; eyeWideRight: number; browInnerUp: number; mouthFrownLeft: number; mouthFrownRight: number; eyeLookUpLeft: number; eyeLookUpRight: number; }; disappointed: { mouthFrownLeft: number; mouthFrownRight: number; browInnerUp: number; eyeSquintLeft: number; eyeSquintRight: number; eyeLookDownLeft: number; eyeLookDownRight: number; mouthLeft: number; }; sleeping: { eyeSquintLeft: number; eyeSquintRight: number; mouthOpen: number; browInnerUp: number; jawOpen: number; }; tongueOutWink: { tongueOut: number; mouthOpen: number; eyeSquintLeft: number; eyeSquintRight: number; mouthSmileLeft: number; mouthSmileRight: number; }; savoring: { tongueOut: number; mouthSmileLeft: number; mouthSmileRight: number; eyeSquintLeft: number; eyeSquintRight: number; browInnerUp: number; }; crazyFace: { tongueOut: number; mouthOpen: number; eyeWideLeft: number; eyeSquintRight: number; browOuterUpLeft: number; browDownRight: number; }; funnyFace: { jawLeft: number; mouthPucker: number; noseSneerLeft: number; noseSneerRight: number; mouthLeft: number; eyeLookUpLeft: number; eyeLookUpRight: number; cheekPuff: number; mouthDimpleLeft: number; mouthRollLower: number; mouthSmileLeft: number; mouthSmileRight: number; }; '\uD83D\uDE0A': { browInnerUp: number; eyeSquintLeft: number; eyeSquintRight: number; mouthSmile: number; noseSneerLeft: number; noseSneerRight: number; }; '\uD83D\uDE00': { browInnerUp: number; jawOpen: number; mouthDimpleLeft: number; mouthDimpleRight: number; mouthOpen: number; mouthPressLeft: number; mouthPressRight: number; mouthRollLower: number; mouthShrugUpper: number; mouthSmile: number; mouthUpperUpLeft: number; mouthUpperUpRight: number; noseSneerLeft: number; noseSneerRight: number; }; }; /** * Emoji to emote mapping */ declare const emojiToEmote: { '\uD83D\uDE0A': string; '\uD83D\uDE00': string; '\uD83D\uDE03': string; '\uD83D\uDE04': string; '\uD83D\uDE01': string; '\uD83D\uDE06': string; '\uD83D\uDE02': string; '\uD83E\uDD23': string; '\uD83D\uDE0D': string; '\uD83E\uDD70': string; '\uD83D\uDE18': string; '\uD83D\uDE17': string; '\uD83D\uDE19': string; '\uD83D\uDE1A': string; '\uD83D\uDE14': string; '\uD83D\uDE1E': string; '\uD83D\uDE1F': string; '\u2639\uFE0F': string; '\uD83D\uDE2D': string; '\uD83D\uDE22': string; '\uD83D\uDE21': string; '\uD83D\uDE20': string; '\uD83E\uDD2C': string; '\uD83D\uDE31': string; '\uD83D\uDE28': string; '\uD83D\uDE30': string; '\uD83D\uDE32': string; '\uD83D\uDE2E': string; '\uD83D\uDE2F': string; '\uD83E\uDD14': string; '\uD83D\uDE0F': string; '\uD83D\uDE34': string; '\uD83D\uDE2A': string; '\uD83E\uDD22': string; '\uD83E\uDD2E': string; '\uD83D\uDE10': string; '\uD83D\uDE11': string; '\uD83D\uDE44': string; '\uD83D\uDE09': string; '\uD83D\uDE1B': string; '\uD83D\uDE1D': string; '\uD83D\uDE1C': string; '\uD83E\uDD2A': string; '\uD83D\uDE0B': string; '\uD83D\uDE12': string; '\uD83D\uDE2C': string; '\uD83D\uDE33': string; '\uD83E\uDD7A': string; '\uD83D\uDE15': string; '\uD83D\uDE41': string; '\uD83D\uDE29': string; '\uD83D\uDE2B': string; '\uD83D\uDE16': string; '\uD83D\uDE35': string; '\uD83D\uDE35\u200D\uD83D\uDCAB': string; '\uD83E\uDD74': string; '\uD83D\uDE36': string; '\uD83D\uDE36\u200D\uD83C\uDF2B\uFE0F': string; '\uD83E\uDEE5': string; '\uD83D\uDE0E': string; '\uD83E\uDD78': string; '\uD83E\uDD13': string; '\uD83E\uDDD0': string; '\uD83D\uDE08': string; '\uD83D\uDC7F': string; '\uD83E\uDD2F': string; '\uD83E\uDD76': string; '\uD83E\uDD75': string; '\uD83D\uDE37': string; '\uD83E\uDD12': string; '\uD83E\uDD15': string; '\uD83E\uDD27': string; '\uD83D\uDE07': string; '\uD83E\uDD73': string; '\uD83E\uDD79': string; '\uD83E\uDEE0': string; '\uD83E\uDD17': string; '\uD83E\uDEE3': string; '\uD83E\uDD2D': string; '\uD83E\uDEE2': string; '\uD83E\uDEE1': string; '\uD83E\uDD2B': string; '\uD83E\uDEE4': string; '\uD83D\uDE13': string; '\uD83D\uDE25': string; '\uD83E\uDD71': string; '\uD83D\uDE24': string; '\uD83D\uDE2E\u200D\uD83D\uDCA8': string; '\uD83D\uDE0C': string; '\uD83E\uDD24': string; '\uD83D\uDE43': string; '\uD83D\uDE26': string; '\uD83D\uDE27': string; '\uD83D\uDE38': string; '\uD83D\uDE39': string; '\uD83D\uDE3A': string; '\uD83D\uDE3B': string; '\uD83D\uDE3C': string; '\uD83D\uDE3D': string; '\uD83D\uDE3E': string; '\uD83D\uDE3F': string; '\uD83D\uDE40': string; }; declare namespace moodPresets { let neutral: {}; namespace happy { let mouthSmileLeft: number; let mouthSmileRight: number; let eyeSquintLeft: number; let eyeSquintRight: number; } namespace sad { let mouthFrownLeft: number; let mouthFrownRight: number; let browInnerUp: number; let eyeLookDownLeft: number; let eyeLookDownRight: number; } namespace angry { export let browDownLeft: number; export let browDownRight: number; let mouthFrownLeft_1: number; export { mouthFrownLeft_1 as mouthFrownLeft }; let mouthFrownRight_1: number; export { mouthFrownRight_1 as mouthFrownRight }; } namespace love { let mouthSmileLeft_1: number; export { mouthSmileLeft_1 as mouthSmileLeft }; let mouthSmileRight_1: number; export { mouthSmileRight_1 as mouthSmileRight }; let eyeSquintLeft_1: number; export { eyeSquintLeft_1 as eyeSquintLeft }; let eyeSquintRight_1: number; export { eyeSquintRight_1 as eyeSquintRight }; } } declare function lerpMorphTarget(scene: any, targetName: string, value: number, speed?: number, debug?: boolean): boolean; declare function applyMorphTargets(scene: any, targets: any, speed?: number, intensity?: number, debug?: boolean): void; declare function resetAllMorphTargets(scene: any, speed?: number, exclude?: any[]): void; declare function getCurrentMorphTargetValues(scene: any, threshold?: number): any; declare function findMorphTargetMesh(scene: any): any | null; declare function listMorphTargets(scene: any): any[]; export { Cabecao, ChatProvider, UI, applyMorphTargets, Cabecao as default, defaultNaturalityConfig, emojiToEmote, emoteTemplates, eternalExpressionPreset, findMorphTargetMesh, gestureTemplates, getAllGestureBones, getAllMorphTargets, getCurrentMorphTargetValues, lerpMorphTarget, listMorphTargets, mirrorGesture, moodPresets, readyPlayerMePreset, resetAllMorphTargets, timedExpressionPreset, useAvatarLoader, useBlink, useBlinking, useChat, useCustomEmotes, useEmotes, useGestures, useHeadControls, useLipsync, useListening, useListeningAnimation, useMicroMovements, useNaturalBehaviors };