import { Logger, ILogObj } from 'tslog';
import { HAP as HAPHB } from 'homebridge';
import type { Characteristic, Service } from 'homebridge';
import { CameraConfig } from './configTypes';
import { Camera } from 'eufy-security-client';
export declare let HAP: HAPHB;
export declare let SERV: typeof Service;
export declare let CHAR: typeof Characteristic;
export declare function setHap(hapInstance: HAPHB): void;
export declare let log: Logger<ILogObj>;
export declare let tsLogger: Logger<ILogObj>;
export declare let ffmpegLogger: Logger<ILogObj>;
export declare function init_log(logOptions: ILogObj): void;
export declare class Deferred<T> {
    finished: boolean;
    resolve: (value: T | PromiseLike<T>) => this;
    reject: (error: Error) => this;
    promise: Promise<T>;
}
export declare class UniversalStream {
    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): UniversalStream;
    static StreamOutput(namespace: string, stream: NodeJS.WritableStream): UniversalStream;
}
export declare const is_rtsp_ready: (device: Camera, cameraConfig: CameraConfig) => boolean;
//# sourceMappingURL=utils.d.ts.map