import type { Tileset } from './tileset'; import type { Tile } from './tile'; import type { FrameState } from './types'; export declare class ManagedArray { private map; private array; private _length; constructor(); /** * Gets or sets the length of the array. * If the set length is greater than the length of the internal array, the internal array is resized. * @type Number */ get length(): number; /** * Gets the element at an index. * @param index - The index to get. */ get(index: number): T; /** * Sets the element at an index. Resizes the array if index is greater than the length of the array. * @param index - The index to set. * @param element - The element to set at index. */ set(index: number, element: T): void; delete(element: T): void; /** * Push an element into the array. * @param element - The element to push. */ push(element: T): void; /** * Pop an element from the array. * * @returns The last element in the array. */ pop(): T; reset(): void; find(target: T): boolean; peek(): T | undefined; } declare class TilesetBaseTraverser { tileset: Tileset; protected _canSelectTile: boolean; private _loadAllTilesTraversalStack; constructor(tileset: Tileset); traverse(root: Tile, frameState: FrameState, cacheFrameStates?: FrameState[]): void; reset(): void; protected updateTile(tile: Tile, frameState: FrameState): void; protected selectTile(tile: Tile, frameState: FrameState): void; protected loadTile(tile: Tile, frameState: FrameState): void; protected touchTile(tile: Tile, frameState: FrameState): void; protected canTraverse(tile: Tile, frameState: FrameState): boolean; protected updateTileVisibility(tile: Tile, frameState: FrameState): void; protected anyChildrenVisible(tile: Tile, frameState: FrameState): boolean; protected meetsScreenSpaceErrorEarly(tile: Tile, frameState: FrameState): boolean; protected sortTilesByDistanceToCamera(tiles: Tile[]): void; } export { TilesetBaseTraverser };