/** @format */
import { InputBuffer } from '../../common/input-buffer.js';
import { VP8LInternal } from './vp8l-internal.js';
/**
 * Class representing WebPAlpha.
 */
export declare class WebPAlpha {
    /**
     * Input buffer for the alpha data.
     */
    private _input;
    /**
     * Gets the input buffer.
     * @returns {InputBuffer<Uint8Array>} The input buffer.
     */
    get input(): InputBuffer<Uint8Array>;
    /**
     * Width of the image.
     */
    private _width;
    /**
     * Gets the width of the image.
     * @returns {number} The width of the image.
     */
    get width(): number;
    /**
     * Height of the image.
     */
    private _height;
    /**
     * Gets the height of the image.
     * @returns {number} The height of the image.
     */
    get height(): number;
    /**
     * Compression method used.
     */
    private _method;
    /**
     * Gets the compression method used.
     * @returns {number} The compression method.
     */
    get method(): number;
    /**
     * Filter type used.
     */
    private _filter;
    /**
     * Gets the filter type used.
     * @returns {number} The filter type.
     */
    get filter(): number;
    /**
     * Pre-processing level.
     */
    private _preProcessing;
    /**
     * Gets the pre-processing level.
     * @returns {number} The pre-processing level.
     */
    get preProcessing(): number;
    /**
     * Reserved field.
     */
    private _rsrv;
    /**
     * Gets the reserved field.
     * @returns {number} The reserved field.
     */
    get rsrv(): number;
    /**
     * Indicates if the alpha channel is decoded.
     */
    private _isAlphaDecoded;
    /**
     * Gets the alpha decoded status.
     * @returns {boolean} True if alpha is decoded, otherwise false.
     */
    get isAlphaDecoded(): boolean;
    /**
     * VP8L internal data.
     */
    private _vp8l;
    /**
     * Gets the VP8L internal data.
     * @returns {VP8LInternal} The VP8L internal data.
     */
    get vp8l(): VP8LInternal;
    /**
     * Indicates if 8-bit decode is used.
     */
    private _use8bDecode;
    /**
     * Gets the 8-bit decode usage status.
     * @returns {boolean} True if 8-bit decode is used, otherwise false.
     */
    get use8bDecode(): boolean;
    /**
     * Gets the validity status of the alpha data.
     * @returns {boolean} True if valid, otherwise false.
     */
    get isValid(): boolean;
    /**
     * Creates an instance of WebPAlpha.
     * @param {InputBuffer<Uint8Array>} input - The input buffer.
     * @param {number} width - The width of the image.
     * @param {number} height - The height of the image.
     */
    constructor(input: InputBuffer<Uint8Array>, width: number, height: number);
    /**
     * Dequantizes the levels.
     * @param {Uint8Array} _data - The data array.
     * @param {number} width - The width of the image.
     * @param {number} height - The height of the image.
     * @param {number} row - The starting row.
     * @param {number} numRows - The number of rows.
     * @returns {boolean} True if successful, otherwise false.
     */
    private dequantizeLevels;
    /**
     * Decodes the alpha image stream.
     * @param {number} lastRow - The last row to decode.
     * @param {Uint8Array} output - The output array.
     * @returns {boolean} True if successful, otherwise false.
     */
    private decodeAlphaImageStream;
    /**
     * Decodes the alpha header.
     * @returns {boolean} True if successful, otherwise false.
     */
    private decodeAlphaHeader;
    /**
     * Decodes the alpha data.
     * @param {number} row - The starting row.
     * @param {number} numRows - The number of rows.
     * @param {Uint8Array} output - The output array.
     * @returns {boolean} True if successful, otherwise false.
     */
    decode(row: number, numRows: number, output: Uint8Array): boolean;
    /**
     * Alpha related constants.
     */
    private static readonly alphaNoCompression;
    private static readonly alphaLosslessCompression;
    private static readonly alphaPreprocessedLevels;
}
