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;
    constructor(opts: ViewportOptions);
    init(container: HTMLElement): Promise<void>;
    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