import { CameraPlatform } from "./cameraPlatform";
import { VideoConfig } from "homebridge-camera-ffmpeg/dist/configTypes";
export type CameraConfig = {
    name: string;
    ipAddress: string;
    username: string;
    password: string;
    streamUser: string;
    streamPassword: string;
    pullInterval?: number;
    disableStreaming?: boolean;
    disableEyesToggleAccessory?: boolean;
    disableAlarmToggleAccessory?: boolean;
    disableNotificationsToggleAccessory?: boolean;
    disableMotionDetectionToggleAccessory?: boolean;
    disableLEDToggleAccessory?: boolean;
    disableMotionSensorAccessory?: boolean;
    lowQuality?: boolean;
    videoMaxWidth?: number;
    videoMaxHeight?: number;
    videoMaxFPS?: number;
    videoForceMax?: boolean;
    videoMaxBirate?: number;
    videoPacketSize?: number;
    videoCodec?: string;
    videoConfig?: VideoConfig;
    eyesToggleAccessoryName?: string;
    alarmToggleAccessoryName?: string;
    notificationsToggleAccessoryName?: string;
    motionDetectionToggleAccessoryName?: string;
    ledToggleAccessoryName?: string;
};
export declare class CameraAccessory {
    private readonly platform;
    private readonly config;
    private readonly log;
    private readonly api;
    private readonly camera;
    private pullIntervalTick;
    private readonly accessory;
    private infoAccessory;
    private toggleAccessories;
    private motionSensorService;
    private readonly randomSeed;
    constructor(platform: CameraPlatform, config: CameraConfig);
    private setupInfoAccessory;
    private setupToggleAccessory;
    private getVideoConfig;
    private setupCameraStreaming;
    private setupMotionSensorAccessory;
    private setupPolling;
    private getStatusAndNotify;
    setup(): Promise<void>;
}
