/** @format */
import { VP8L } from './vp8l.js';
import { VP8LTransform } from './vp8l-transform.js';
/**
 * Class representing internal VP8L operations.
 */
export declare class VP8LInternal extends VP8L {
    /**
     * Gets the transforms.
     * @returns {VP8LTransform[]} The array of VP8LTransform objects.
     */
    get transforms(): VP8LTransform[];
    /**
     * Gets the pixels.
     * @returns {Uint32Array | undefined} The pixel data.
     */
    get pixels(): Uint32Array | undefined;
    /**
     * Gets the opaque data.
     * @returns {Uint8Array | undefined} The opaque data.
     */
    get opaque(): Uint8Array | undefined;
    /**
     * Sets the opaque data.
     * @param {Uint8Array | undefined} v - The opaque data.
     */
    set opaque(v: Uint8Array | undefined);
    /**
     * Gets the IO width.
     * @returns {number | undefined} The IO width.
     */
    get ioWidth(): number | undefined;
    /**
     * Sets the IO width.
     * @param {number | undefined} v - The IO width.
     */
    set ioWidth(v: number | undefined);
    /**
     * Gets the IO height.
     * @returns {number | undefined} The IO height.
     */
    get ioHeight(): number | undefined;
    /**
     * Sets the IO height.
     * @param {number | undefined} v - The IO height.
     */
    set ioHeight(v: number | undefined);
    /**
     * Decodes image data.
     * @param {Uint32Array} data - The image data.
     * @param {number} width - The width of the image.
     * @param {number} height - The height of the image.
     * @param {number} lastRow - The last row of the image.
     * @param {(_: number) => void} processFunc - The function to process each pixel.
     * @returns {boolean} True if decoding was successful, otherwise false.
     */
    decodeImageData(data: Uint32Array, width: number, height: number, lastRow: number, processFunc: (_: number) => void): boolean;
    /**
     * Decodes image stream.
     * @param {number} xsize - The width of the image.
     * @param {number} ysize - The height of the image.
     * @param {boolean} isLevel0 - Indicates if it is level 0.
     * @returns {Uint32Array | undefined} The decoded image stream.
     */
    decodeImageStream(xsize: number, ysize: number, isLevel0: boolean): Uint32Array | undefined;
    /**
     * Allocates internal buffers for 32-bit data.
     * @returns {boolean} True if allocation was successful, otherwise false.
     */
    allocateInternalBuffers32b(): boolean;
    /**
     * Allocates internal buffers for 8-bit data.
     * @returns {boolean} True if allocation was successful, otherwise false.
     */
    allocateInternalBuffers8b(): boolean;
    /**
     * Decodes alpha data.
     * @param {number} width - The width of the image.
     * @param {number} height - The height of the image.
     * @param {number} lastRow - The last row of the image.
     * @returns {boolean} True if decoding was successful, otherwise false.
     */
    decodeAlphaData(width: number, height: number, lastRow: number): boolean;
    /**
     * Checks if 8-bit optimization is possible.
     * @returns {boolean} True if 8-bit optimization is possible, otherwise false.
     */
    is8bOptimizable(): boolean;
    /**
     * Extracts alpha rows.
     * @param {number} row - The row to extract.
     */
    extractAlphaRows(row: number): void;
    /**
     * Calculates the subsample size.
     * @param {number} size - The original size.
     * @param {number} samplingBits - The number of sampling bits.
     * @returns {number} The subsample size.
     */
    static subSampleSize(size: number, samplingBits: number): number;
}
