import { DataTexture } from 'three';
import { TextureAtlas } from './TextureAtlas.js';
import { TextureCoords } from './TextureCoords.js';
import { TileSet } from './TileSet.js';
type AnimName = string | symbol;
export interface FrameBasedAnimDef {
    frames: TextureCoords[];
    duration: number;
    name: AnimName;
    id: number;
}
export interface BakeTextureOptions {
    includeTextureSize: boolean;
}
export declare class FrameBasedAnimations {
    #private;
    static MaxTextureSize: number;
    add(...args: [
        name: AnimName | undefined,
        duration: number,
        texCoords: TextureCoords[]
    ] | [name: AnimName | undefined, duration: number, atlas: TextureAtlas, frameNameQuery?: string] | [name: AnimName | undefined, duration: number, tileSet: TileSet, firstTileId?: number, tileCount?: number] | [name: AnimName | undefined, duration: number, tileSet: TileSet, tileIds: number[]]): number;
    animId(name: AnimName): number;
    bakeDataTexture(options?: BakeTextureOptions): DataTexture;
}
export {};
//# sourceMappingURL=FrameBasedAnimations.d.ts.map