import { VideoBufferType, VideoBufferInfo, OwnedVideoBuffer } from '@livekit/rtc-ffi-bindings';

declare class VideoFrame {
    data: Uint8Array;
    width: number;
    height: number;
    type: VideoBufferType;
    constructor(data: Uint8Array, width: number, height: number, type: VideoBufferType);
    /** @internal */
    get dataPtr(): bigint;
    /** @internal */
    protoInfo(): VideoBufferInfo;
    /** @internal */
    static fromOwnedInfo(owned: OwnedVideoBuffer): VideoFrame;
    getPlane(planeNth: number): Uint8Array | void;
    convert(dstType: VideoBufferType, flipY?: boolean): VideoFrame;
}

export { VideoFrame };
