import { AdofaiEvent, ActionData, LevelOptions, Tile, ParseProvider, ParseProgressEvent, PrecomputedProgressEvents, LightweightPrecomputedData } from './interfaces'; import { EffectCleanerType } from '../filter/effectProcessor'; export declare class Level { private _events; private guidCallbacks; private _options; private _provider?; angleData: number[]; actions: AdofaiEvent[]; settings: Record; __decorations: AdofaiEvent[]; tiles: Tile[]; /** 预计算的事件缓存 */ private _precomputedEvents; /** 是否启用预计算模式 */ private _precomputeMode; /** 轻量级预计算数据(用于大物量渲染) */ private _lightweightData; constructor(opt: string | LevelOptions | Uint8Array | ArrayBuffer, provider?: ParseProvider); generateGUID(): string; private _emitProgress; enablePrecomputeMode(): void; disablePrecomputeMode(): void; getPrecomputedEvents(): PrecomputedProgressEvents | null; clearPrecomputedEvents(): void; getEventsAtPercent(percent: number, stage?: ParseProgressEvent['stage']): ParseProgressEvent[]; getPrecomputedEventCount(stage?: ParseProgressEvent['stage']): number; getLightweightData(): LightweightPrecomputedData | null; precomputeLightweight(skipPositionCalculation?: boolean): LightweightPrecomputedData; getLightweightDataRange(startIndex: number, count: number): { angles: number[]; positions: [number, number][]; twirlFlags: boolean[]; } | null; clearLightweightData(): void; getTileRenderData(index: number): { angle: number; position: [number, number] | null; hasTwirl: boolean; } | null; load(): Promise; on(eventName: string, callback: Function): string; trigger(eventName: string, data: any): void; off(guid: string): void; filterActionsByEventType(en: string): { index: number; action: ActionData; }[]; getActionsByIndex(en: string, index: number): { count: number; actions: ActionData[]; }; calculateTileCoordinates(): void; calculateTilePosition(): number[][]; floorOperation(info?: { type: 'append' | 'insert' | 'delete'; direction: number; id?: number; }): void; appendFloor(args: { direction: number; }): void; clearDeco(): boolean; clearEffect(presetName: string): void; clearEvent(preset: { type: EffectCleanerType | string; events: string[]; }): void; export(type: 'string' | 'object', indent: number, useAdofaiStyle: boolean | undefined, indentChar: string, indentStep: number): string | Record; }