import { AnimationControls } from "framer-motion";
export type PersonControls = {
    root: AnimationControls;
    body: AnimationControls;
    head: AnimationControls;
    eyes: AnimationControls;
    mouth: AnimationControls;
    leftArm: AnimationControls;
    rightArm: AnimationControls;
    card: AnimationControls;
    curse: AnimationControls;
};
export declare function usePersonControls(): PersonControls;
/** Dotychczasowe pozy + 10 nowych */
export type PersonPose = "idle" | "raiseCard" | "happy" | "angry" | "disappointed" | "swearing" | "shouting" | "rock" | "danceA" | "danceB" | "danceC" | "hideDown" | "exitLeft" | "exitRight" | "enterFromLeft" | "enterFromRight" | "waveHand" | "facepalm" | "shrug" | "nodYes" | "shakeNo" | "pointRight" | "leanBack" | "jump" | "spin" | "celebrate";
export type PoseOptions = {
    duration?: number;
    score?: number | string;
    screenW?: number;
    screenH?: number;
};
export type ChoreoStep = {
    pose: PersonPose;
    holdMs?: number;
    options?: PoseOptions;
};
export declare function playPose(fx: PersonControls, pose: PersonPose, opts?: PoseOptions): Promise<void>;
export declare function runChoreo(fx: PersonControls, steps: ChoreoStep[]): Promise<void>;
