import { Buffer } from 'node:buffer'; import { EventEmitter } from 'node:events'; import PNGSync from './png-sync'; import type { DecodeOptions } from './decode-budget'; declare interface PNGOptions extends DecodeOptions { width?: number height?: number fill?: boolean skipRescale?: boolean checkCRC?: boolean deflateChunkSize?: number deflateLevel?: number deflateStrategy?: number inputHasAlpha?: boolean bitDepth?: 8 | 16 colorType?: number inputColorType?: number filterType?: number } export declare class PNG extends EventEmitter { width: number; height: number; data: Buffer | null; gamma: number; readable: boolean; writable: boolean; static sync: typeof PNGSync; constructor(options?: PNGOptions); pack(): this; parse(data: Buffer, callback?: (err: Error | null, png: PNG | null) => void): this; write(data: Buffer): boolean; end(data?: Buffer): void; static bitblt(src: PNG, dst: PNG, srcX: number, srcY: number, width: number, height: number, deltaX: number, deltaY: number): void; bitblt(dst: PNG, srcX: number, srcY: number, width: number, height: number, deltaX: number, deltaY: number): this; static adjustGamma(src: PNG): void; adjustGamma(): void; } export default PNG;