/** Convert opaque RGBA pixels to the encoder's full-range BT.709 4:2:0 planes. */ export declare function rgbaToYuv420(data: Uint8Array, width: number, height: number, options?: { alphaEncodedSeparately?: boolean }): Yuv420; /** * The alpha plane as an AV1 picture: alpha in luma, neutral chroma. * * AVIF carries alpha as a second image item whose luma plane IS the alpha * (MIAF auxiliary image, `urn:mpeg:mpegB:cicp:systems:auxiliary:alpha`). * Decoders read only that plane, so writing it through the same 4:2:0 path * as the colour image, with chroma pinned to 128, keeps one encoder for both. * Edge replication matches `rgbaToYuv420` so the planes line up block for * block. */ export declare function alphaToYuv420(data: Uint8Array, width: number, height: number): Yuv420; /** Encode one adaptive-CDF tile using 4x4 DC-predicted DCT blocks. */ export declare function encodeIntraTile(source: Yuv420, baseQIdx: number): Uint8Array; declare interface Yuv420 { y: Uint8Array u: Uint8Array v: Uint8Array yStride: number uvStride: number miCols: number miRows: number } declare class EncoderContext { mode: Uint8Array; skip: Uint8Array; partition: Uint8Array; lcoef: Uint8Array; ccoef: [Uint8Array, Uint8Array]; constructor(n4: number); reset(): void; } declare class IntraTileEncoder { constructor(source: Yuv420, baseQIdx: number); encode(): Uint8Array; }