import { Application, Container } from 'pixi.js'; export interface ViewportOptions { width: number; height: number; gridWidth: number; gridHeight: number; tileSize: number; backgroundColor?: number; } export declare class WorldViewport { app: Application; world: Container; private gridOverlay; private _showGrid; private _zoom; private _panX; private _panY; private opts; private _initialized; private _destroyed; private _destroyedWarned; constructor(opts: ViewportOptions); /** * INF-B-003: Guard used by every public method. Returns true if the viewport * has been destroyed, and emits a single console.warn the first time it fires * so log floods don't drown out the signal. */ private warnIfDestroyed; init(container: HTMLElement): Promise; /** * INF-B-002: Returns true once init() has completed successfully. Consumers * use this to decide whether it's safe to hand the viewport off to renderers. */ isMounted(): boolean; private drawGrid; pan(dx: number, dy: number): void; zoom(factor: number): void; centerOnTile(gridX: number, gridY: number): void; set showGrid(v: boolean); get showGrid(): boolean; get zoomLevel(): number; destroy(): void; } //# sourceMappingURL=viewport.d.ts.map