import { Camera } from 'eufy-security-client';
import { CameraController, CameraRecordingConfiguration, CameraRecordingDelegate, HDSProtocolSpecificErrorReason, PlatformAccessory, RecordingPacket } from 'homebridge';
import { EufySecurityPlatform } from '../platform';
import { CameraConfig } from '../utils/configTypes';
import { LocalLivestreamManager } from './LocalLivestreamManager';
export declare class RecordingDelegate implements CameraRecordingDelegate {
    private platform;
    private accessory;
    private camera;
    private cameraConfig;
    private localLivestreamManager;
    private configuration?;
    private forceStopTimeout?;
    private closeReason?;
    private handlingStreamingRequest;
    private controller?;
    private session?;
    constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, camera: Camera, cameraConfig: CameraConfig, localLivestreamManager: LocalLivestreamManager);
    setController(controller: CameraController): void;
    isRecording(): boolean;
    handleRecordingStreamRequest(): AsyncGenerator<RecordingPacket, any, unknown>;
    updateRecordingActive(active: boolean): void;
    updateRecordingConfiguration(configuration: CameraRecordingConfiguration | undefined): void;
    closeRecordingStream(streamId: number, reason: HDSProtocolSpecificErrorReason | undefined): void;
    acknowledgeStream(streamId: any): void;
}
//# sourceMappingURL=recordingDelegate.d.ts.map