export declare const enum ColorType { Grayscale = 0, RGB = 2, Palette = 3, GrayscaleAlpha = 4, RGBA = 6 } export declare const enum InterlaceType { None = 0, Adam7 = 1 } export declare const enum PNGUnit { Unknown = 0, Meter = 1 } export declare class Chunk { readonly type: string; constructor(type: string); chunkComputeLength(header: ChunkHeader): number; chunkSave(header: ChunkHeader, view: DataView, offset: number): void; chunkClone(): Chunk; static parse(length: number, type: string, crc: number, view: DataView, offset: number, header: ChunkHeader): Chunk; } export declare class ChunkUnknown extends Chunk { buffer: ArrayBuffer; constructor(type: string, buffer: ArrayBuffer); chunkClone(): ChunkUnknown; chunkComputeLength(header: ChunkHeader): number; chunkSave(header: ChunkHeader, view: DataView, offset: number): void; static parse(length: number, type: string, crc: number, view: DataView, offset: number, header: ChunkHeader): ChunkUnknown; } export declare class ChunkHeader extends Chunk { width: number; height: number; bitDepth: number; colorType: ColorType; compression: number; filter: number; interlace: InterlaceType; static parse(length: number, type: string, crc: number, view: DataView, offset: number, header: ChunkHeader): ChunkHeader; constructor(width: number, height: number, bitDepth?: number, colorType?: ColorType, compression?: number, filter?: number, interlace?: InterlaceType); chunkClone(): ChunkHeader; chunkComputeLength(header: ChunkHeader): number; chunkSave(header: ChunkHeader, view: DataView, offset: number): void; } export declare class ChunkEnd extends Chunk { constructor(); chunkComputeLength(header: ChunkHeader): number; chunkSave(header: ChunkHeader, view: DataView, offset: number): void; chunkClone(): ChunkEnd; static parse(length: number, type: string, crc: number, view: DataView, offset: number, header: ChunkHeader): Chunk; } export declare class ChunkPixelData extends Chunk { data: ArrayBuffer; constructor(data: ArrayBuffer); static parse(length: number, type: string, crc: number, view: DataView, offset: number, header: ChunkHeader): ChunkPixelData; chunkComputeLength(header: ChunkHeader): number; chunkSave(header: ChunkHeader, view: DataView, offset: number): void; chunkClone(): ChunkEnd; }