/** @format */
import { InputBuffer } from '../../common/input-buffer.js';
/**
 * Decodes a frame from a WebP animation
 */
export declare class WebPFrame {
    /**
     * The X coordinate of the upper left corner of the frame
     */
    private _x;
    /**
     * The X coordinate of the upper left corner of the frame
     */
    get x(): number;
    /**
     * The Y coordinate of the upper left corner of the frame
     */
    private _y;
    /**
     * The Y coordinate of the upper left corner of the frame
     */
    get y(): number;
    /**
     * The width of the frame
     */
    private _width;
    /**
     * The width of the frame
     */
    get width(): number;
    /**
     * The height of the frame
     */
    private _height;
    /**
     * The height of the frame
     */
    get height(): number;
    /**
     * How long the frame should be displayed, in milliseconds
     */
    private _duration;
    /**
     * How long the frame should be displayed, in milliseconds
     */
    get duration(): number;
    /**
     * The position of the frame in the input buffer
     */
    private _framePosition;
    /**
     * The position of the frame in the input buffer
     */
    get framePosition(): number;
    /**
     * The size of the frame
     */
    private _frameSize;
    /**
     * The size of the frame
     */
    get frameSize(): number;
    /**
     * Indicates how the current frame is to be treated after it has been
     * displayed (before rendering the next frame) on the canvas.
     * If true, the frame is cleared to the background color. If false,
     * frame is left and the next frame drawn over it.
     */
    private _clearFrame;
    /**
     * Indicates how the current frame is to be treated after it has been
     * displayed (before rendering the next frame) on the canvas.
     * If true, the frame is cleared to the background color. If false,
     * frame is left and the next frame drawn over it.
     */
    get clearFrame(): boolean;
    /**
     * Reserved field for future use
     */
    private _reserved;
    /**
     * Indicates if the frame is valid
     */
    get isValid(): boolean;
    /**
     * Constructs a WebPFrame instance
     * @param {InputBuffer<Uint8Array>} input - The input buffer containing the frame data
     * @param {number} size - The size of the frame
     */
    constructor(input: InputBuffer<Uint8Array>, size: number);
    /**
     * Size of an animation frame header.
     */
    private static readonly animFrameHeaderSize;
}
