import { Pose, Timeline } from '../types/index.ts'; import { Animation } from './animation'; /** * Long-lived container that owns the playback state of a `` context * across many transitions. Each new transition's Animation is handed in via * `attach()`, which: * * 1. Samples the live pose of the prior child and feeds it to the new one * via `matchInto` so motion is continuous. * 2. Completes the prior child so its `onComplete` cleanups fire. * 3. Carries over the host's playbackRate and play/pause/reverse state. * 4. Hooks the child's `onComplete` / `onUpdate` to drive the host's own * listeners (used by dev tools). * * The host is also a valid `Animation` itself — its lifecycle methods delegate * to the active child while preserving state when no child is attached. */ export declare class HostAnimation extends Animation { private child; private _state; private _settled; private listeners; attach(next: Animation): void; play(): void; reverse(): void; pause(): void; complete(): void; get isAnimating(): boolean; get isPaused(): boolean; get isComplete(): boolean; get isReversing(): boolean; get progress(): number; findTimeForProgress(threshold: number): number | null; get playbackRate(): number; set playbackRate(rate: number); getPose(): Pose[]; getTimeline(): Timeline[]; matchInto(poses: Pose[]): void; /** Currently attached child, or null when nothing is playing. */ get activeChild(): Animation | null; /** Subscribe to host state changes. Returns an unsubscribe fn. */ subscribe(fn: () => void): () => void; private notify; } //# sourceMappingURL=host-animation.d.ts.map