import { PNG } from 'pngjs';
import { type Filestore } from '../filestore';
import type { FileData } from '../file-data';
export declare function toRgb(inputNum: number): number[];
/**
 * A single Sprite within a SpritePack.
 */
export declare class Sprite {
    spriteId: number;
    maxWidth: number;
    maxHeight: number;
    offsetX: number;
    offsetY: number;
    width: number;
    height: number;
    pixelIdx: number[];
    palette: number[];
    pixels: number[];
    constructor(spriteId: number, width: number, height: number);
    resizeToLibSize(): void;
    /**
     * First converts the Sprite into a base64 PNG image.
     */
    toBase64(): Promise<string>;
    /**
     * Converts the Sprite into a PNG image and returns the resulting PNG object.
     */
    toPng(): PNG;
    /**
     * Converts the Sprite's pixels into a Uint8ClampedArray.
     */
    getPixels(): Uint8ClampedArray;
}
/**
 * A package of one or many Sprite objects.
 */
export declare class SpritePack {
    readonly fileData: FileData;
    private _sprites;
    constructor(fileData: FileData);
    writeToDisk(): Promise<void>;
    /**
     * Decodes the sprite pack file.
     */
    decode(): SpritePack;
    get sprites(): Sprite[];
    get packId(): number;
}
/**
 * Controls SpritePack file storage.
 */
export declare class SpriteStore {
    private fileStore;
    constructor(fileStore: Filestore);
    writeToDisk(): Promise<void>;
    /**
     * Decodes the specified sprite pack.
     * @param fileName The name of the sprite pack file.
     * @returns The decoded SpritePack object, or null if the file is not found.
     */
    getSpritePack(fileName: string): SpritePack | null;
    /**
     * Decodes the specified sprite pack.
     * @param id The ID of the sprite pack file.
     * @returns The decoded SpritePack object, or null if the file is not found.
     */
    getSpritePack(id: number): SpritePack | null;
    /**
     * Decodes all sprite packs within the filestore.
     * @returns The list of decoded SpritePack objects from the sprite store.
     */
    decodeSpriteStore(): SpritePack[];
}
