export class CameraTracker { lastPosition: { x: number; y: number; }; lastZoom: number; currentPosition: { x: number; y: number; }; currentZoom: number; totalFrames: number; staticFrames: number; smallMoveFrames: number; largeMoveFrames: number; teleportFrames: number; smallMoveThreshold: number; teleportThreshold: number; update(camera: any): void; getDelta(): { x: number; y: number; zoom: number; magnitude: number; }; hasMoved(): boolean; isSmallMove(): boolean; isTeleport(): boolean; zoomChanged(): boolean; commit(): void; getDirection(): string; getStats(): { totalFrames: number; staticFrames: number; smallMoveFrames: number; largeMoveFrames: number; teleportFrames: number; staticRatio: string; smallMoveRatio: string; largeMoveRatio: string; teleportRatio: string; }; printStats(): void; } export class CacheUpdateStrategy { static determine(delta: any, cacheMargin: any): { type: string; reason: string; delta?: undefined; } | { type: string; reason: string; delta: any; }; } export class CacheShifter { static shiftLeft(buffer: any, dx: any): void; static shiftRight(buffer: any, dx: any): void; static shiftUp(buffer: any, dy: any): void; static shiftDown(buffer: any, dy: any): void; static shift(buffer: any, dx: any, dy: any): void; } export class ShiftRegionCalculator { static calculateNewRegions(oldWorldX: any, oldWorldY: any, cacheWidth: any, cacheHeight: any, deltaX: any, deltaY: any): ({ cache: { x: number; y: number; width: number; height: any; }; world: { x: any; y: any; width: number; height: any; }; edge: string; } | { cache: { x: number; y: number; width: any; height: number; }; world: { x: any; y: any; width: any; height: number; }; edge: string; })[]; } export class FullMapPreRender { constructor(mapWidth: any, mapHeight: any); mapWidth: any; mapHeight: any; buffer: CacheBuffer; rendered: boolean; pixelsDrawn: number; render(renderCallback: any): void; copyToDisplay(displayCanvas: any, camera: any): void; _blitRegion(srcBuffer: any, srcX: any, srcY: any, width: any, height: any, dstCanvas: any, dstX: any, dstY: any): void; getStats(): { mapSize: string; rendered: boolean; pixelsDrawn: number; }; printStats(): void; } export default class OffscreenTilemapCache { constructor(viewportWidth: any, viewportHeight: any, marginRatio?: number); viewportWidth: any; viewportHeight: any; marginRatio: number; cacheWidth: any; cacheHeight: any; marginPixels: { x: number; y: number; }; buffer: CacheBuffer; worldX: number; worldY: number; dirty: boolean; tracker: CameraTracker; fullRedraws: number; incrementalUpdates: number; copies: number; skippedUpdates: number; pixelsShifted: number; pixelsDrawn: number; needsUpdate(camera: any): { type: string; reason: string; delta?: undefined; } | { type: string; reason: string; delta: any; }; incrementalUpdate(delta: any, renderCallback: any): void; commitFrame(): void; invalidate(): void; setWorldRegion(worldX: any, worldY: any): void; getWorldBounds(): { left: number; top: number; right: any; bottom: any; width: any; height: any; }; isCameraInBounds(camera: any): boolean; clear(): void; copyToDisplay(displayCanvas: any, camera: any): void; _blitRegion(srcBuffer: any, srcX: any, srcY: any, width: any, height: any, dstCanvas: any, dstX: any, dstY: any): void; getStats(): { cacheSize: string; viewportSize: string; marginRatio: number; fullRedraws: number; copies: number; worldRegion: string; }; printStats(): void; } export class ChunkedPreRender { constructor(mapWidth: any, mapHeight: any, chunkSize?: number); mapWidth: any; mapHeight: any; chunkSize: number; chunksX: number; chunksY: number; chunks: any[]; renderCallbacks: any[]; rendered: boolean; pixelsDrawn: number; onRenderChunk(callback: any): void; renderAllChunks(): void; _renderChunk(chunkX: any, chunkY: any): { buffer: CacheBuffer; worldX: number; worldY: number; width: number; height: number; }; copyToDisplay(displayCanvas: any, camera: any): void; _blitChunk(srcBuffer: any, dstX: any, dstY: any, dstCanvas: any): void; getStats(): { mapSize: string; chunkSize: number; chunkGrid: string; rendered: boolean; pixelsDrawn: number; }; printStats(): void; } import { CacheBuffer } from "tessera.js";