export declare class V4l2Error extends Error { readonly errno: number; readonly message: string; constructor(errno: number, message: string); } export interface PollEvents { pollin?: boolean; pollout?: boolean; pollpri?: boolean; } export interface PollEventResults { pollin: boolean; pollout: boolean; pollpri: boolean; } export declare function v4l2_open(path: string, flags: number): number; export declare function v4l2_ioctl(fd: number, request: number, arg: Buffer): number; export declare function v4l2_mmap(length: number, prot: number, flags: number, fd: number, offset: number): Buffer; export declare function v4l2_munmap(addr: Buffer): null; export declare function v4l2_close(fd: number): null; export declare function v2l4_dup(fd: number): number; export declare function v4l2_read(fd: number, buf: Buffer, count: number): number; export declare function v4l2_write(fd: number, buf: Buffer, count: number): number; export declare function v4l2_set_control(fd: number, cid: number, value: number): number; export declare function v4l2_get_control(fd: number, cid: number): number; export declare function v4l2_fd_open(fd: number, v4l2_flags: number): number; export declare const v4l2_fourcc: (a: string, b: string, c: string, d: string) => number; export declare function poll(fd: number, timeout: number, events: PollEvents): PollEventResults | null; export declare function poll_async(fd: number, timeout: number, events: PollEvents): Promise; export declare function is_readable(fd: number, timeout: number): boolean; export declare function is_readable_async(fd: number, timeout: number): Promise; export declare function disable_errors number>(fn: T): (...args: Parameters) => number;