import type { Timeline } from '@luma.gl/engine'; import { CameraDataType, CameraKeyframeProps, CameraKeyframes, DeckLayerKeyframes, DeckLayerKeyframeProps } from "../keyframes/index.js"; import Animation, { AnimationConstructor } from "./animation.js"; import type { Layer } from '@deck.gl/core/typed'; export type DeckAnimationProps = { layerKeyframes?: DeckLayerKeyframeProps[]; cameraKeyframe?: CameraKeyframeProps; timeline?: Timeline; }; export type DeckAnimationConstructor = AnimationConstructor & { getLayers?: (animation: DeckAnimation) => Layer[]; onLayersUpdate?: (layers: Layer[]) => void; onCameraUpdate?: (frame: CameraDataType) => void; } & DeckAnimationProps; export default class DeckAnimation extends Animation { cameraKeyframe?: CameraKeyframes; layerKeyframes: { [layerId: string]: DeckLayerKeyframes; }; getLayers: (animation: DeckAnimation) => Layer[]; onLayersUpdate: (layers: Layer[]) => void; onCameraUpdate: (frame: CameraDataType) => void; constructor({ id, cameraKeyframe, getLayers, layerKeyframes, onLayersUpdate, onCameraUpdate }: DeckAnimationConstructor); setOnLayersUpdate(onLayersUpdate: (layers: Layer[]) => void): void; setOnCameraUpdate(onCameraUpdate: (frame: CameraDataType) => void): void; setGetLayers(getLayers: (animation: DeckAnimation) => Layer[]): void; setKeyframes({ layerKeyframes, cameraKeyframe, timeline }: DeckAnimationProps): void; getKeyframes(): { cameraKeyframe: CameraKeyframes; layerKeyframes: { [layerId: string]: DeckLayerKeyframes; }; }; animator(animation: DeckAnimation): void; applyLayerKeyframes(layers: Layer[]): any[]; } //# sourceMappingURL=deck-animation.d.ts.map