import type { MotionAction, MotionDirection, MotionDistance, MotionEasing, MotionEmphasis, MotionFeel, MotionPathPoint, MotionRule, MotionSpeed, MotionTargetDefinition, MotionTriggerName } from './types'; export type MotionPresetId = Extract['preset']; export type MotionEditorMode = 'guided' | 'path'; export type MotionControlId = 'feel' | 'speed' | 'duration' | 'curve' | 'distance' | 'emphasis' | 'direction' | 'pathRecord' | 'pathSmoothing' | 'coordinateSpace'; export type MotionDraft = { trigger: MotionTriggerName; mode: MotionEditorMode; preset: MotionPresetId; feel: MotionFeel; speed: MotionSpeed; durationMs: number; distance: MotionDistance; emphasis: MotionEmphasis; direction: MotionDirection; easing: MotionEasing; customEasing: string; pathPoints: MotionPathPoint[]; rawPathPoints: MotionPathPoint[]; pathSmoothing: 'none' | 'soft' | 'simplified'; viewportPath: boolean; loop: boolean; slowMotion: boolean; }; export type MotionDraftTrackDefinition = { id?: string; target: MotionTargetDefinition; action?: MotionAction; delayMs?: number; }; export type CompileMotionDraftOptions = { triggerSource?: MotionTargetDefinition | undefined; tracks?: MotionDraftTrackDefinition[]; }; export type MotionOption = { value: T; label: string; }; export type MotionPresetDefinition = { id: MotionPresetId; label: string; defaultTrigger: MotionTriggerName; controls: readonly MotionControlId[]; createAction: (draft: MotionDraft) => MotionAction; }; export declare const MOTION_TRIGGERS: readonly MotionOption[]; export declare const MOTION_FEELS: readonly MotionOption[]; export declare const MOTION_SPEEDS: readonly MotionOption[]; export declare const MOTION_SPEED_DURATIONS: Record; export declare const MOTION_MIN_DURATION_MS = 120; export declare const MOTION_MAX_DURATION_MS = 1400; export declare const MOTION_DISTANCES: readonly MotionOption[]; export declare const MOTION_EMPHASES: readonly MotionOption[]; export declare const MOTION_DIRECTIONS: readonly MotionOption[]; export declare const MOTION_CURVES: readonly MotionOption[]; export declare const MOTION_PRESETS: readonly MotionPresetDefinition[]; export declare const PATH_CONTROLS: readonly ["pathRecord", "pathSmoothing", "coordinateSpace", "speed", "duration", "curve"]; export declare function createDefaultMotionDraft(overrides?: Partial): MotionDraft; export declare function getMotionPresetDefinition(preset: MotionPresetId): MotionPresetDefinition; export declare function getActiveMotionControls(draft: MotionDraft): Set; export declare function createMotionDraftAction(draft: MotionDraft): MotionAction; export declare function compileMotionDraft(draft: MotionDraft, selectedTarget: MotionTargetDefinition | undefined, options?: CompileMotionDraftOptions): MotionRule | undefined;