import { Vector2, Vector3 } from 'three';
import type { TileSprite } from '../sprites/TileSprites/descriptors.js';
import { TileSprites } from '../sprites/TileSprites/TileSprites.js';
import { TileSet } from '../texture/TileSet.js';
import { VertexObjectPool } from '../vertex-objects/VertexObjectPool.js';
import type { IMap2DTileDataProvider } from './IMap2DTileDataProvider.js';
import type { IMap2DTileRenderer } from './IMap2DTileRenderer.js';
import { Map2DTile } from './Map2DTile.js';
export declare class Map2DTileSprites extends TileSprites implements IMap2DTileRenderer {
    #private;
    constructor();
    get tileData(): IMap2DTileDataProvider | undefined;
    set tileData(tileData: IMap2DTileDataProvider | undefined);
    get tileSet(): TileSet | undefined;
    set tileSet(tileSet: TileSet | undefined);
    get tilesPool(): VertexObjectPool<TileSprite> | undefined;
    update(): void;
    beginUpdate(offset: Vector2, translate: Vector3): void;
    addTile(tile: Map2DTile): void;
    reuseTile(tile: Map2DTile): void;
    removeTile(tile: Map2DTile): void;
    resetTiles(): void;
    endUpdate(): void;
    dispose(): void;
}
//# sourceMappingURL=Map2DTileSprites.d.ts.map