/**
 * Core types and interfaces for GIF tools
 */
/** RGB color component intensity (0-255) */
export type ColorIntensity = number;
/** RGB color representation */
export interface RGBColor {
    readonly red: ColorIntensity;
    readonly green: ColorIntensity;
    readonly blue: ColorIntensity;
}
/** Image dimensions */
export interface ImageDimensions {
    readonly width: number;
    readonly height: number;
}
/** Indexed color image data */
export interface IndexedImage {
    readonly width: number;
    readonly height: number;
    readonly data: Uint8Array;
    readonly palette: Uint8Array;
}
/** Full color image data (RGBA) */
export interface ImageData {
    readonly width: number;
    readonly height: number;
    readonly data: Uint8Array | Uint8ClampedArray;
}
/** Output stream interface for writing GIF data */
export interface OutputStream {
    writeByte(byte: number): void;
    writeBytes(bytes: Uint8Array | number[]): void;
}
/** GIF disposal methods */
export declare enum DisposalMethod {
    /** No disposal specified */
    None = 0,
    /** Do not dispose */
    DoNotDispose = 1,
    /** Restore to background color */
    RestoreToBackground = 2,
    /** Restore to previous */
    RestoreToPrevious = 3
}
/** Options for global color table */
export interface GlobalColorTableOptions {
    /** Color table data as RGB triplets */
    readonly colors?: Uint8Array;
    /** Whether colors are sorted by importance */
    readonly sorted?: boolean;
    /** Background color index */
    readonly backgroundColorIndex?: number;
    /** Pixel aspect ratio */
    readonly pixelAspectRatio?: number;
}
/** Options for individual image frames */
export interface ImageOptions {
    /** Left position in logical screen */
    readonly left?: number;
    /** Top position in logical screen */
    readonly top?: number;
    /** Delay time in milliseconds */
    readonly delay?: number;
    /** How to dispose of this frame */
    readonly disposal?: DisposalMethod;
    /** Transparent color index (-1 for no transparency) */
    readonly transparentIndex?: number;
}
/** Options for animated GIFs */
export interface AnimationOptions {
    /** Number of times to loop (0 for infinite) */
    readonly loops?: number;
}
/** Error types */
export declare class GifError extends Error {
    readonly code?: string | undefined;
    constructor(message: string, code?: string | undefined);
}
export declare class GifValidationError extends GifError {
    constructor(message: string);
}
export declare class GifEncodingError extends GifError {
    constructor(message: string);
}
