/** @format */
import { InputBuffer } from '../../common/input-buffer.js';
import { VP8LInternal } from './vp8l-internal.js';
/**
 * Handles decoding and processing of the WebP alpha channel.
 */
export declare class WebPAlpha {
    /** Input buffer for alpha data. */
    private _input;
    /** Image width. */
    private _width;
    /** Image height. */
    private _height;
    /** Compression method. */
    private _method;
    /** Filter type. */
    private _filter;
    /** Pre-processing level. */
    private _preProcessing;
    /** Reserved field. */
    private _rsrv;
    /** True if alpha channel is decoded. */
    private _isAlphaDecoded;
    /** VP8L internal data. */
    private _vp8l;
    /** True if 8-bit decode is used. */
    private _use8bDecode;
    /** No compression constant. */
    private static readonly alphaNoCompression;
    /** Lossless compression constant. */
    private static readonly alphaLosslessCompression;
    /** Preprocessed levels constant. */
    private static readonly alphaPreprocessedLevels;
    /** Returns input buffer. */
    get input(): InputBuffer<Uint8Array>;
    /** Returns image width. */
    get width(): number;
    /** Returns image height. */
    get height(): number;
    /** Returns compression method. */
    get method(): number;
    /** Returns filter type. */
    get filter(): number;
    /** Returns pre-processing level. */
    get preProcessing(): number;
    /** Returns reserved field. */
    get rsrv(): number;
    /** Returns true if alpha is decoded. */
    get isAlphaDecoded(): boolean;
    /** Returns VP8L internal data. */
    get vp8l(): VP8LInternal;
    /** Returns true if 8-bit decode is used. */
    get use8bDecode(): boolean;
    /** Returns true if alpha data is valid. */
    get isValid(): boolean;
    /**
     * Constructs WebPAlpha instance.
     * @param input Input buffer.
     * @param width Image width.
     * @param height Image height.
     */
    constructor(input: InputBuffer<Uint8Array>, width: number, height: number);
    /**
     * Dequantizes alpha levels if pre-processing is enabled.
     * @param _data Alpha data.
     * @param width Image width.
     * @param height Image height.
     * @param row Start row.
     * @param numRows Number of rows.
     */
    private dequantizeLevels;
    /**
     * Decodes alpha image stream.
     * @param lastRow Last row to decode.
     * @param output Output array.
     */
    private decodeAlphaImageStream;
    /**
     * Decodes alpha header and initializes VP8LInternal.
     */
    private decodeAlphaHeader;
    /**
     * Decodes alpha data for specified rows.
     * @param row Start row.
     * @param numRows Number of rows.
     * @param output Output array.
     */
    decode(row: number, numRows: number, output: Uint8Array): boolean;
}
