/** * WebP image data */ export declare interface WebpImageData { data: Uint8Array width: number height: number hasAlpha?: boolean } /** * WebP encoding options */ export declare interface WebpEncodeOptions { quality?: number lossless?: boolean effort?: number alpha?: boolean backend?: 'auto' | 'cli' | 'pure-ts' cwebpPath?: string } /** * WebP decoding options */ export declare interface WebpDecodeOptions { format?: 'rgba' | 'rgb' } /** * RIFF chunk structure */ export declare interface RiffChunk { fourCC: string size: number data: Uint8Array offset: number } /** * WebP file info */ export declare interface WebpInfo { width: number height: number hasAlpha: boolean isLossless: boolean hasAnimation: boolean isExtended: boolean } /** * VP8 frame header */ export declare interface VP8FrameHeader { keyframe: boolean version: number showFrame: boolean firstPartSize: number width: number height: number xScale: number yScale: number } /** * VP8L image header */ export declare interface VP8LHeader { width: number height: number hasAlpha: boolean version: number } /** * One frame of an animated WebP, with positioning and timing metadata * pulled from the surrounding ANMF chunk header. */ export declare interface WebpAnimationFrame { image: WebpImageData x: number y: number duration: number blend: 'overlay' | 'replace' dispose: 'none' | 'background' } /** * Decoded animation, with the canvas geometry, loop count, and an * ordered list of frames. */ export declare interface WebpAnimation { width: number height: number loopCount: number backgroundColor: number frames: WebpAnimationFrame[] }