import type { Timeline } from '@luma.gl/engine'; import { CameraKeyframes, KeplerFilterKeyframes, KeplerLayerKeyframes, KeplerTripKeyframes } from "../keyframes/index.js"; import type { CameraDataType, CameraKeyframeProps, KeplerFilter, FilterDataType, KeplerFilterKeyframeProps, TimeRangeKeyframeAccessor, KeplerLayer, KeplerLayerKeyframeProps, KeplerAnimationConfig, KeplerTripKeyframeProps } from "../keyframes/index.js"; import Animation, { type AnimationConstructor } from "./animation.js"; export declare function findLayer({ layers, layerKeyframe }: { layers: KeplerLayer[]; layerKeyframe: { id?: string; label?: string; }; }): KeplerLayer; export declare function findFilterIdx({ filters, filterKeyframe }: { filters: KeplerFilter[]; filterKeyframe: { filterIdx?: number; id?: string; }; }): number; type KeplerAnimationProps = { layers?: KeplerLayer[]; layerKeyframes?: (Omit, 'layer'> & { id?: string; label?: string; })[]; filters?: KeplerFilter[]; filterKeyframes?: KeplerFilterKeyframeProps[]; getTimeRangeFilterKeyframes?: TimeRangeKeyframeAccessor; animationConfig?: KeplerAnimationConfig; tripKeyframe?: KeplerTripKeyframeProps; cameraKeyframe?: CameraKeyframeProps; timeline?: Timeline; }; type KeplerAnimationConstructor = AnimationConstructor & { onTripFrameUpdate?: (currentTime: number) => void; onFilterFrameUpdate?: (filterIdx: number, key: 'value', value: FilterDataType | number | number[]) => void; onLayerFrameUpdate?: (layer: KeplerLayer, frame: object) => void; onCameraFrameUpdate?: (frame: Partial) => void; } & KeplerAnimationProps; export default class KeplerAnimation extends Animation { cameraKeyframe?: CameraKeyframes; layerKeyframes: { [id: string]: KeplerLayerKeyframes; }; filterKeyframes: { [id: string]: KeplerFilterKeyframes; }; tripKeyframe?: KeplerTripKeyframes; onTripFrameUpdate: (currentTime: number) => void; onFilterFrameUpdate: (filterIdx: number, key: 'value', value: FilterDataType | number | number[]) => void; onLayerFrameUpdate: (layer: KeplerLayer, frame: object) => void; onCameraFrameUpdate: (frame: Partial) => void; constructor({ id, layers, layerKeyframes, filters, filterKeyframes, getTimeRangeFilterKeyframes, animationConfig, tripKeyframe, cameraKeyframe, onTripFrameUpdate, onFilterFrameUpdate, onLayerFrameUpdate, onCameraFrameUpdate }: KeplerAnimationConstructor); setKeyframes({ layers, layerKeyframes, filters, filterKeyframes, getTimeRangeFilterKeyframes, animationConfig, tripKeyframe, cameraKeyframe, timeline }: KeplerAnimationProps): void; getKeyframes(): { cameraKeyframe: CameraKeyframes; layerKeyframes: { [id: string]: KeplerLayerKeyframes; }; filterKeyframes: { [id: string]: KeplerFilterKeyframes; }; tripKeyframe: KeplerTripKeyframes; }; animator(animation: this): void; } export {}; //# sourceMappingURL=kepler-animation.d.ts.map