export interface ImageMetadata {
    format: string;
    width: number;
    height: number;
    frameCount: number;
}
export interface DecodedFrame {
    width: number;
    height: number;
    data: Uint8Array;
}
export declare function getImageMetadata(buffer: Buffer): Promise<ImageMetadata>;
export declare function sampleFrameIndices(frameCount: number, sampleCount: number): number[];
export declare function extractSampledFrames(buffer: Buffer, sampleCount: number, outputFormat?: 'png' | 'jpeg' | 'webp'): Promise<{
    frames: Buffer[];
    metadata: ImageMetadata;
}>;
export declare function extractFrameGrayscale(buffer: Buffer, metadata: ImageMetadata, frameIndex: number, targetWidth: number, targetHeight: number): Promise<Uint8Array>;
export declare function extractFrameRgba(buffer: Buffer, metadata: ImageMetadata, frameIndex: number): Promise<DecodedFrame>;
export declare function resizeFrameToGrayscale(frame: DecodedFrame, targetWidth: number, targetHeight: number): Promise<Uint8Array>;
