interface BmpPaletteColor { red: number; green: number; blue: number; quad: number; } type BmpBinaryInput = ArrayBuffer | ArrayBufferView; type EncodeBitDepth = 1 | 4 | 8 | 16 | 24 | 32; interface BmpImageData { data: Uint8Array; width: number; height: number; } interface EncodeOptions { orientation?: "top-down" | "bottom-up"; bitPP?: EncodeBitDepth; palette?: BmpPaletteColor[]; } interface DecodeOptions { treat16BitAs15BitAlpha?: boolean; toRGBA?: boolean; } type DecodeColorOptions = Omit; interface EncodedBmp { data: Uint8Array; width: number; height: number; } interface DecodedBmp { fileSize: number; reserved: number; offset: number; headerSize: number; width: number; height: number; planes: number; bitPP: number; compress: number; rawSize: number; hr: number; vr: number; colors: number; importantColors: number; palette?: BmpPaletteColor[]; data: Uint8Array; getData(): Uint8Array; } interface DecodedRgb extends BmpImageData { channels: 3; format: "rgb"; } export type { BmpPaletteColor as B, DecodedBmp as D, EncodeOptions as E, BmpBinaryInput as a, DecodeOptions as b, BmpImageData as c, EncodedBmp as d, DecodeColorOptions as e, DecodedRgb as f, EncodeBitDepth as g };