import { VRM } from "@pixiv/three-vrm";
import { AnimationClip, Vector3 } from "three";
export declare const emotionMap: {
    [id: string]: string;
};
export declare const getClickedPosition: (pos: Vector3, partsMap: {
    [id: string]: {
        startX: number;
        endX: number;
        startY: number;
        endY: number;
    };
}) => string;
export declare const mixamoVRMRigMap: {
    [id: string]: string;
};
export declare const loadVMDAsync: (url: string) => Promise<unknown>;
/**
 * Helper function to load VMD / Mixamo FBX animation
 * Please take note that other animation formats are not supported at the moment
 *
 * @param url VMD / Mixamo FBX animations
 * @param vrm VRM instance
 * @returns AnimationClip
 */
export declare const loadAnimation: (url: string, vrm?: VRM) => Promise<any>;
export declare const loadFbxAnimation: (url: string, vrm: VRM) => Promise<AnimationClip>;
export declare const playMotion: (currentVrm: VRM, targetExpression: string, value: number, unique?: boolean) => Promise<void>;
export declare const fadeByExpressionName: (currentVrm: VRM, name: string, waitMs?: number, transitionMs?: number, unique?: boolean) => Promise<void>;
/**
 * Function to blink VRM model's eyes
 * @param currentVrm VRM instance
 */
export declare const blink: (currentVrm: VRM) => Promise<void>;
/**
 * Function to fade VRM model's facial expression
 * @param currentVrm VRM instance
 * @param emotion Target emotion to fade
 * @returns void
 */
export declare const fadeByEmotion: (currentVrm: VRM, emotion: "idle" | "think" | "anger" | "disgust" | "fear" | "joy" | "neutral" | "sadness" | "surprise") => Promise<void>;
