import { VideoSourceInfo, FfiHandle, VideoRotation } from '@livekit/rtc-ffi-bindings';
import './ffi_client.cjs';
import { VideoFrame } from './video_frame.cjs';
import '@livekit/typed-emitter';

declare class VideoSource {
    /** @internal */
    info?: VideoSourceInfo;
    /** @internal */
    ffiHandle: FfiHandle;
    /** @internal */
    closed: boolean;
    width: number;
    height: number;
    constructor(width: number, height: number);
    captureFrame(frame: VideoFrame, timestampUs?: bigint, rotation?: VideoRotation): void;
    close(): Promise<void>;
}

export { VideoSource };
