import * as THREE from 'three'; import { Tile } from './tile'; import type { FrameState } from './types'; import { TileRequestScheduler } from './tile-request-scheduler'; import { TileCache } from './tile-cache'; import { TilesetHeader, TrajectoryHeader } from './header'; import { Trajectory } from './trajectory'; export interface TilesetOptions { url?: string; tileLoader: (tile: Tile) => Promise; tileUnloader: (tile: Tile) => Promise; onTileLoad: (tile: Tile) => any; onTileUnload: (tile: Tile) => any; onTileError: (tile: Tile, error: Error) => any; trajectoryLoader: (trajectory: Trajectory) => Promise; trajectoryUnloader: (trajectory: Trajectory) => Promise; onTrajectoryLoad: (trajectory: Trajectory) => any; onTrajectoryUnload: (trajectory: Trajectory) => any; onTrajectoryError: (trajectory: Trajectory, error: Error) => any; } export declare class Tileset { asset: { version: string; tilesetVersion: string; gltfUpAxis: "Y" | "Z"; overview?: { imageFile: string; worldFile: string; imageWidth: number; imageHeight: number; }; trajectories?: TrajectoryHeader[]; [key: string]: any; }; id: string; frameNumber: number; hasMixedContent: boolean; maxAverageTileMemory: number; properties: NonNullable; options: TilesetOptions; root: Tile; rootMeta: NonNullable; transform: THREE.Matrix4; geometricError: number; cache: TileCache; currentMaxScreenSpaceError: number; requestScheduler: TileRequestScheduler; private cacheMemoryUsageInBytes; private normalTraverser; private skipTraverser; private mostDetailTraverser; loadedTiles: Set; needsRefinedTiles: Set; requestedTiles: Tile[]; selectedTiles: Tile[]; unloadTiles: Tile[]; trajectories: Trajectory[]; selectedTrajectories: Trajectory[]; pointLength: number; floorLength: number; constructor(header: TilesetHeader, options: TilesetOptions); /** * 通过当前的内存使用,推测 maxScreenSpaceError */ private adjustScreenSpaceError; private getTraverser; /** Release resources */ reset(): void; update(frameState: FrameState, cacheFrameStates?: FrameState[]): void; }