import * as THREE from 'three'; import type { Tileset } from './tileset'; import type { FrameState } from './types'; import { BoundingVolume } from '../../utils/volume'; import { TileHeader } from './header'; import { TileNode } from './tile-node'; import { LoadResultType } from '../loaders/shared'; export type TileContentData = { type: LoadResultType['type']; byteLength: number; memoryUsage: number; uri: string; object: TileNode; }; export declare class Tile { id: string; tileset: Tileset; parent: Tile | null; contentParent: Tile | null; geometricError: number; type: 'SCENEGRAPH' | 'EMPTY' | 'TILESET'; floor: number; content: { uri: string; group?: number; data?: TileContentData; loadState: 'LOADING' | 'UNLOADED' | 'READY' | 'FAILED'; loadProgress: number; loadStateUpdateTime: number; loadfailRetryDelay: number; byteLength: number; memoryUsage: number; } | null; level: number; levelOfContent: number; extras: Record; refine: TileHeader['refine']; boundingVolume?: BoundingVolume; viewerRequestVolume?: BoundingVolume; transform: THREE.Matrix4; children: Tile[]; state: { visible: boolean; frameNumber: number; selectedFrameNumber: number; requestedFrameNumber: number; touchedFrameNumber: number; distanceToCamera: number; centerZDepth: number; centerScreenY: number; screenSpaceError: number; inRequestVolume: boolean; visibilityPlaneMask: number; shouldRefine: boolean; stackLength: number; finalResolution: boolean; selectionDepth: number; shouldSelect: boolean; lastSelect: boolean; ancestorWithContent: Tile | null; ancestorWithContentAvailable: Tile | null; }; constructor(id: string, header: TileHeader, tileset: Tileset, parent?: Tile); traverse(callback: (tile: Tile) => void): void; updateState(frameState: FrameState): void; get selected(): boolean; get hasChildren(): boolean; get siblingIndex(): number; get hasTilesetContent(): boolean; get hasRenderContent(): boolean; get contentAvailable(): boolean; get hasUnloadedContent(): boolean; get hasEmptyContent(): boolean; get contentReady(): boolean; get contentByteLength(): number; get contentMemoryUsage(): number; getScreenSpaceError(frameState: FrameState, distanceToCamera: number, useParentGeometricError: boolean): number; getPriority(frameState: FrameState): number; }