/// <reference types="node" />
import { Camera } from 'eufy-security-client';
import { CameraConfig } from './configTypes';
import { Logger as TsLogger, ILogObj } from 'tslog';
export declare const is_rtsp_ready: (device: Camera, cameraConfig: CameraConfig, log: TsLogger<ILogObj>) => boolean;
export declare class Deferred<T> {
    finished: boolean;
    resolve: (value: T | PromiseLike<T>) => this;
    reject: (error: Error) => this;
    promise: Promise<T>;
}
export declare class UniversalStream {
    private readonly log;
    url: string;
    private static socks;
    private server;
    private sock_id;
    private isWin32;
    private readonly startTime;
    private constructor();
    private generateSockPath;
    private generateUrl;
    close(): void;
    static StreamInput(namespace: string, stream: NodeJS.ReadableStream, log: TsLogger<ILogObj>): UniversalStream;
    static StreamOutput(namespace: string, stream: NodeJS.WritableStream, log: TsLogger<ILogObj>): UniversalStream;
}
//# sourceMappingURL=utils.d.ts.map