/**
 * Bone name keys used in the rig system.
 * Full humanoid skeleton: root → pelvis → spine → neck → head,
 * shoulders → arms → hands, thighs → shins → feet.
 */
export type BoneKey = "root" | "pelvis" | "spineLower" | "spineUpper" | "neck" | "head" | "lShoulder" | "lUpperArm" | "lForearm" | "lHand" | "rShoulder" | "rUpperArm" | "rForearm" | "rHand" | "lThigh" | "lShin" | "lFoot" | "rThigh" | "rShin" | "rFoot";
/** Bone specification relative to the character size. */
export type BoneSpec = {
    /** Parent bone key (undefined for the root). */
    parent?: BoneKey;
    /** Length as a fraction of character size (px = length * size). */
    length?: number;
    /** Static offset from parent joint, in fractions of size [dx, dy]. */
    offset?: [number, number];
};
/** Complete rig configuration describing all bones. */
export type RigConfig = Record<BoneKey, BoneSpec>;
/** Per-bone rotation in degrees (clockwise, 0° = pointing right). */
export type RigPose = Partial<Record<BoneKey, number>>;
/** World-space FK result for a single bone. */
export type SolvedBone = {
    /** Start x (px). */
    x: number;
    /** Start y (px). */
    y: number;
    /** End x (px). */
    x2: number;
    /** End y (px). */
    y2: number;
    /** World rotation (deg). */
    angle: number;
};
/** Ordered list for safe FK traversal. */
export declare const BONE_ORDER: BoneKey[];
/** Default humanoid rig (proportions tuned for ~180px height). */
export declare const DEFAULT_RIG: RigConfig;
/** Neutral standing pose (deg). */
export declare const DEFAULT_POSE: RigPose;
