import { Object3D } from 'three';
import type { IMap2DLayer } from './IMap2DLayer.js';
import type { IMap2DTileRenderer } from './IMap2DTileRenderer.js';
import type { IMap2DVisibilitor } from './IMap2DVisibilitor.js';
import { Map2DTile } from './Map2DTile.js';
export declare class Map2DLayer implements IMap2DLayer {
    #private;
    visibilitor?: IMap2DVisibilitor;
    get needsUpdate(): boolean;
    set needsUpdate(update: boolean);
    get centerX(): number;
    set centerX(x: number);
    get centerY(): number;
    set centerY(y: number);
    get tileWidth(): number;
    set tileWidth(width: number);
    get tileHeight(): number;
    set tileHeight(height: number);
    get xOffset(): number;
    set xOffset(offset: number);
    get yOffset(): number;
    set yOffset(offset: number);
    tiles: Map2DTile[];
    renderers: Set<IMap2DTileRenderer>;
    constructor(tileWidth?: number, tileHeight?: number, xOffset?: number, yOffset?: number);
    addTileRenderer(renderer: IMap2DTileRenderer): void;
    removeTileRenderer(renderer: IMap2DTileRenderer): void;
    update(node: Object3D): void;
    resetTiles(): void;
}
//# sourceMappingURL=Map2DLayer.d.ts.map