import type { Five } from '@realsee/five'; import { BasePlugin } from '../BasePlugin'; import type * as PluginType from './typing'; import * as THREE from 'three'; export declare class Controller extends BasePlugin.Controller { data?: any; state: PluginType.State; private duration; private curveHeight; private pointDuration; boundingAABB: PluginType.BoundingAABB2D | null; private cancelAnimation; private boundsSet; private playing; keyframes: PluginType.Keyframe[]; private updateState; constructor(five: Five, config?: PluginType.Config); load(): Promise; enable(options?: BasePlugin.BaseOptions): void; disable(options?: BasePlugin.BaseOptions): void; dispose(): void; private extractKeyframes; private computeAABB2D; private findClosestKeyframeToRay; getCameraCurve(): Promise; private isInitAnimationEnabled; private findRenderMesh; setBounding(boundsMin: THREE.Vector3, boundsMax: THREE.Vector3, center?: THREE.Vector3): void; setBounds(): void; startAggregation(): void; playEntrance(): Promise; }