export type EasingFunction = (t: number) => number; export interface AnimationAction { id: string; name: string; target: string; property: string; from: any; to: any; duration: number; delay?: number; easing?: EasingFunction; loop?: boolean | number; yoyo?: boolean; } export interface AnimationTrack { id: string; name: string; actions: AnimationAction[]; startTime: number; duration: number; } interface ActionStore { tracks: Map; activeAnimations: Map; isPlaying: boolean; currentTime: number; addTrack: (track: AnimationTrack) => void; removeTrack: (id: string) => void; addAction: (trackId: string, action: AnimationAction) => void; removeAction: (trackId: string, actionId: string) => void; play: () => void; pause: () => void; stop: () => void; seek: (time: number) => void; update: (deltaTime: number) => void; } declare const easings: { linear: (t: number) => number; easeInQuad: (t: number) => number; easeOutQuad: (t: number) => number; easeInOutQuad: (t: number) => number; easeInCubic: (t: number) => number; easeOutCubic: (t: number) => number; easeInOutCubic: (t: number) => number; }; export declare const useActionStore: import('zustand').UseBoundStore, "subscribe"> & { subscribe: { (listener: (selectedState: ActionStore, previousSelectedState: ActionStore) => void): () => void; (selector: (state: ActionStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: { equalityFn?: (a: U, b: U) => boolean; fireImmediately?: boolean; }): () => void; }; }>; export { easings };