import { type Nullable } from 'aidly'; import { Track } from './track'; import { Container } from './container'; import { FacileDanmaku } from './danmaku/facile'; import type { EachCallback, PushOptions, PushFlexOptions, DanmakuType, RenderOptions, EngineOptions, } from './types'; export declare class Engine { private _options; rows: number; container: Container; tracks: Array>; private _fx; private _sets; private _retryMap; private _addDestroyQueue; private _managerPluginSystem?; constructor(_options: EngineOptions); /** * @internal */ _setManagerPluginSystem( managerPluginSystem: NonNullable, ): void; len(): { stash: number; flexible: number; view: number; all: number; }; add( data: T | FacileDanmaku, options: Required>, isUnshift?: boolean, ): void; updateOptions(newOptions: Partial): void; clear(type?: Nullable): void; each(fn: EachCallback): void; asyncEach(fn: EachCallback): Promise; format(): void; renderFlexibleDanmaku( data: T, options: Required>, { hooks, statuses, danmakuPlugin }: RenderOptions, ): boolean; renderFacileDanmaku({ hooks, statuses, danmakuPlugin, }: RenderOptions): void; private _consumeFacileDanmaku; private _setAction; private _create; private _calculateSpeed; private _getTrackRandom; private _getTrack; private _collisionPrediction; }