import type { Vec3 } from "./Keyframe";
export interface SecondaryAnimationFixtureOptions {
    readonly stridePhase?: number;
    readonly rootHeight?: number;
    readonly velocity?: Vec3;
    readonly terrainSlope?: number;
    readonly deltaSeconds?: number;
    readonly seed?: number;
}
export interface FootIkSample {
    readonly side: "left" | "right";
    readonly sourceFoot: Vec3;
    readonly plantedFoot: Vec3;
    readonly groundNormal: Vec3;
    readonly grounded: boolean;
    readonly verticalCorrection: number;
    readonly targetError: number;
}
export interface SpringBoneSample {
    readonly chainName: "ponytail";
    readonly boneCount: number;
    readonly stiffness: number;
    readonly damping: number;
    readonly collisionRadius: number;
    readonly substeps: number;
    readonly gravity: Vec3;
    readonly wind: Vec3;
    readonly rootPosition: Vec3;
    readonly tipPosition: Vec3;
    readonly maxDisplacement: number;
    readonly collisionContacts: number;
}
export interface SecondaryAnimationFixture {
    readonly source: "origin-master-foot-ik-spring-bone-adapted";
    readonly footIk: {
        readonly feet: readonly FootIkSample[];
        readonly hipOffset: number;
        readonly averageTargetError: number;
        readonly groundedFeet: number;
        readonly terrainSlope: number;
    };
    readonly springBone: SpringBoneSample;
    readonly productionReadiness: {
        readonly footPlacementTelemetry: boolean;
        readonly hipAdjustmentTelemetry: boolean;
        readonly springChainTelemetry: boolean;
        readonly collisionTelemetry: boolean;
        readonly deterministicReplay: boolean;
    };
    readonly hash: string;
    readonly claimBoundary: string;
    readonly blockedClaims: readonly string[];
}
export declare function sampleSecondaryAnimationFixture(options?: SecondaryAnimationFixtureOptions): SecondaryAnimationFixture;
//# sourceMappingURL=SecondaryAnimationFixtures.d.ts.map