import { TextureAtlas, type TextureAtlasFrame } from './TextureAtlas.js';
import { TextureCoords } from './TextureCoords.js';
export interface TileSetOptions {
    tileWidth?: number;
    tileHeight?: number;
    margin?: number;
    spacing?: number;
    padding?: number;
    tileCount?: number;
    firstId?: number;
}
export declare class TileSet {
    #private;
    readonly atlas: TextureAtlas;
    readonly baseCoords: TextureCoords;
    readonly options: TileSetOptions;
    tileCount: number;
    firstFrameId: number;
    constructor(...args: [TextureAtlas, TextureCoords, TileSetOptions?] | [TextureCoords, TileSetOptions?]);
    get tileWidth(): number;
    get tileHeight(): number;
    get firstId(): number;
    get lastId(): number;
    get lastFrameId(): number;
    get tileCountLimit(): number;
    get margin(): number;
    get padding(): number;
    get spacing(): number;
    frameId(tileId: number): number;
    randomTileId(): number;
    randomFrameId(): number;
    frame(tileId: number): TextureAtlasFrame;
    randomFrame(): TextureAtlasFrame;
}
//# sourceMappingURL=TileSet.d.ts.map