import type { MotionValue } from 'motion/react';
export type CharacterState = 'idle' | 'email' | 'password' | 'peek' | 'surprised' | 'love' | 'excited';
export type CharacterSize = 'sm' | 'md' | 'lg';
export interface InteractiveCharactersProps {
    /** Current character state — controls expressions and animations */
    state?: CharacterState;
    /** Enable mouse/cursor tracking for eye movement (default: true) */
    trackMouse?: boolean;
    /** Size preset (default: 'md') */
    size?: CharacterSize;
    /** Additional class names for the container */
    className?: string;
}
export interface CharacterProps {
    state: CharacterState;
    eyeOffset: {
        x: MotionValue<number>;
        y: MotionValue<number>;
    };
    idle: {
        sway: MotionValue<number>;
        bob: MotionValue<number>;
        breath: MotionValue<number>;
        headTilt: MotionValue<number>;
        headX: MotionValue<number>;
        headY: MotionValue<number>;
    };
    blinkAmount: MotionValue<number>;
    onClick?: () => void;
}
