import { Keyframe, KeyframeData } from './keyframe'; export interface AnimatorData { uuid?: string; name?: string; type?: string; keyframes?: KeyframeData[]; channels?: Record; [key: string]: any; } export interface AnimatorChannel { name: string; condition?: () => boolean; transform?: boolean; mutable?: boolean; max_data_points?: number; displayFrame?: (animator: any) => any; } export declare abstract class Animator { uuid: string; name: string; type: string; keyframes: Keyframe[]; animation?: any; expanded: boolean; selected: boolean; muted: Record; channels: Record; constructor(uuid: string, animation?: any, name?: string); extend(data: AnimatorData): this; /** * Get node (group or element) this animator is attached to */ get node(): any; /** * Add keyframe */ addKeyframe(data?: KeyframeData, uuid?: string): Keyframe | undefined; /** * Update keyframes array from channel arrays */ updateKeyframesArray(): void; /** * Remove keyframe */ removeKeyframe(keyframe: Keyframe): void; /** * Get keyframe at time */ getKeyframeAtTime(time: number, epsilon?: number): Keyframe | undefined; /** * Get or make keyframe at time */ getOrMakeKeyframe(channel: string, time: number, epsilon?: number): { before?: Keyframe; result: Keyframe; new_keyframe?: Keyframe; }; /** * Create keyframe with value */ createKeyframe(value: any, time: number, channel: string, undo?: boolean, select?: boolean): Keyframe; /** * Toggle muted state for channel */ toggleMuted(channel: string): this; /** * Select animator */ select(): this; /** * Unselect animator */ unselect(): this; getSaveCopy(): any; getUndoCopy(): any; } //# sourceMappingURL=animator.d.ts.map