import { Nullable } from '../../types'; import { ComputedRef, MaybeRef } from 'vue'; import { Map, CameraOptions } from 'maplibre-gl'; /** * Shared animation status enum used by all camera animation composables */ export declare enum AnimationStatus { NotStarted = "not-started", Running = "running", Completed = "completed", Error = "error" } export interface CameraAnimationConfig { map: MaybeRef>; debug?: boolean; } export interface CameraAnimationResult { /** * Execute an animation on the map, resolving when the completion event fires. * With a completion event, `args` must fill every parameter before the map * method's `eventData` (pass `undefined` for omitted options) — the factory * appends a token there and only settles on events that carry it. */ executeAnimation: (method: string, args: any[], completionEvent?: string, timeout?: number) => Promise; /** Get current camera state */ getCurrentCamera: () => CameraOptions | null; /** Stop any in-flight animation */ stopAnimation: () => void; /** Current animation status */ animationStatus: ComputedRef; /** Whether animation is currently running */ isAnimating: ComputedRef; /** Resolved map instance (computed) */ mapInstance: ComputedRef>; }