import { Device, DeviceType } from "eufy-security-client";
import { Modify } from "../state.js";
export interface DeviceStateSchema0 {
    name: string;
    model: string;
    serialNumber: string;
    hardwareVersion: string;
    softwareVersion: string;
    stationSerialNumber: string;
    state?: number;
    battery?: number;
    batteryTemperature?: number;
    batteryLow?: boolean;
    lastChargingDays?: number;
    lastChargingTotalEvents?: number;
    lastChargingRecordedEvents?: number;
    lastChargingFalseEvents?: number;
    batteryUsageLastWeek?: number;
    motionDetected?: boolean;
    personDetected?: boolean;
    personName?: string;
    soundDetected?: boolean;
    petDetected?: boolean;
    cryingDetected?: boolean;
    ringing?: boolean;
    locked?: boolean;
    sensorOpen?: boolean;
    sensorChangeTime?: number;
    enabled: boolean;
    antitheftDetection?: boolean;
    autoNightvision?: boolean;
    ledStatus?: boolean;
    motionDetection?: boolean;
    soundDetection?: boolean;
    petDetection?: boolean;
    rtspStream?: boolean;
    watermark?: number;
    lockStatus?: number;
    motionSensorPIREvent?: number;
    wifiRSSI?: number;
    pictureUrl?: string;
}
type DeviceStateSchema1 = Modify<DeviceStateSchema0, {
    type: DeviceType;
}>;
type DeviceStateSchema3 = Modify<DeviceStateSchema1, {
    motionDetectionType?: number;
    motionDetectionSensivity?: number;
    motionTracking?: boolean;
    soundDetectionType?: number;
    soundDetectionSensivity?: number;
    light?: boolean;
    microphone?: boolean;
    speaker?: boolean;
    speakerVolume?: number;
    ringtoneVolume?: number;
    audioRecording?: boolean;
    powerSource?: number;
    powerWorkingMode?: number;
    recordingEndClipMotionStops?: boolean;
    recordingClipLength?: number;
    recordingRetriggerInterval?: number;
    videoStreamingQuality?: number;
    videoRecordingQuality?: number;
    videoWDR?: boolean;
    lightSettingsEnable?: boolean;
    lightSettingsBrightnessManual?: number;
    lightSettingsBrightnessMotion?: number;
    lightSettingsBrightnessSchedule?: number;
    lightSettingsMotionTriggered?: boolean;
    lightSettingsMotionTriggeredDistance?: number;
    lightSettingsMotionTriggeredTimer?: number;
    chimeIndoor?: boolean;
    chimeHomebase?: boolean;
    chimeHomebaseRingtoneVolume?: number;
    chimeHomebaseRingtoneType?: number;
    notificationType?: number;
    rotationSpeed?: number;
    notificationPerson?: boolean;
    notificationPet?: boolean;
    notificationAllOtherMotion?: boolean;
    notificationCrying?: boolean;
    notificationAllSound?: boolean;
    notificationIntervalTime?: boolean;
    notificationRing?: boolean;
    notificationMotion?: boolean;
}>;
type DeviceStateSchema4 = Omit<Modify<DeviceStateSchema3, {
    chirpVolume?: number;
    chirpTone?: number;
    motionDetectionSensitivity?: number;
    soundDetectionSensitivity?: number;
    videoHdr?: boolean;
    videoDistortionCorrection?: boolean;
    videoRingRecord?: number;
    statusLed?: boolean;
    rtspStreamUrl?: string;
    chargingStatus?: number;
    wifiSignalLevel?: number;
}>, "motionDetectionSensivity" | "soundDetectionSensivity" | "ledStatus">;
type DeviceStateSchema5 = Modify<DeviceStateSchema4, {
    batteryIsCharging?: boolean;
    nightvision?: number;
}>;
type DeviceStateSchema6 = Modify<DeviceStateSchema5, {
    motionDetectionRange?: boolean;
    motionDetectionRangeStandardSensitivity?: number;
    motionDetectionRangeAdvancedLeftSensitivity?: number;
    motionDetectionRangeAdvancedMiddleSensitivity?: number;
    motionDetectionRangeAdvancedRightSensitivity?: number;
    motionDetectionTestMode?: boolean;
    motionTrackingSensitivity?: number;
    motionAutoCruise?: boolean;
    motionOutOfViewDetection?: boolean;
    lightSettingsColorTemperatureManual?: number;
    lightSettingsColorTemperatureMotion?: number;
    lightSettingsColorTemperatureSchedule?: number;
    lightSettingsMotionActivationMode?: number;
    videoNightvisionImageAdjustment?: boolean;
    videoColorNightvision?: boolean;
    autoCalibration?: boolean;
}>;
type DeviceStateSchema7 = Modify<DeviceStateSchema6, {
    lockSettingsAutoLock?: boolean;
    lockSettingsAutoLockTimer?: number;
    lockSettingsAutoLockSchedule?: boolean;
    lockSettingsAutoLockScheduleStartTime?: string;
    lockSettingsAutoLockScheduleEndTime?: string;
    lockSettingsOneTouchLocking?: boolean;
    lockSettingsWrongTryProtection?: boolean;
    lockSettingsWrongTryAttempts?: number;
    lockSettingsWrongTryLockdownTime?: number;
    lockSettingsScramblePasscode?: boolean;
    lockSettingsSound?: number;
    lockSettingsNotification?: boolean;
    lockSettingsNotificationUnlocked?: boolean;
    lockSettingsNotificationLocked?: boolean;
}>;
type DeviceStateSchema8 = Modify<DeviceStateSchema7, {
    notificationRadarDetector?: boolean;
    continuousRecording?: boolean;
    continuousRecordingType?: number;
    loiteringDetection?: boolean;
    loiteringDetectionRange?: number;
    loiteringDetectionLength?: number;
    motionDetectionSensitivityMode?: number;
    motionDetectionSensitivityStandard?: number;
    motionDetectionSensitivityAdvancedA?: number;
    motionDetectionSensitivityAdvancedB?: number;
    motionDetectionSensitivityAdvancedC?: number;
    motionDetectionSensitivityAdvancedD?: number;
    motionDetectionSensitivityAdvancedE?: number;
    motionDetectionSensitivityAdvancedF?: number;
    motionDetectionSensitivityAdvancedG?: number;
    motionDetectionSensitivityAdvancedH?: number;
    loiteringCustomResponsePhoneNotification?: boolean;
    loiteringCustomResponseAutoVoiceResponse?: boolean;
    loiteringCustomResponseAutoVoiceResponseVoice?: number;
    loiteringCustomResponseHomeBaseNotification?: boolean;
    loiteringCustomResponseTimeFrom?: string;
    loiteringCustomResponseTimeTo?: string;
    deliveryGuard?: boolean;
    deliveryGuardPackageGuarding?: boolean;
    deliveryGuardPackageGuardingVoiceResponseVoice?: number;
    deliveryGuardPackageGuardingActivatedTimeFrom?: string;
    deliveryGuardPackageGuardingActivatedTimeTo?: string;
    deliveryGuardUncollectedPackageAlert?: boolean;
    deliveryGuardUncollectedPackageAlertTimeToCheck?: string;
    deliveryGuardPackageLiveCheckAssistance?: boolean;
    dualCamWatchViewMode?: number;
    ringAutoResponse?: boolean;
    ringAutoResponseVoiceResponse?: boolean;
    ringAutoResponseVoiceResponseVoice?: number;
    ringAutoResponseTimeFrom?: string;
    ringAutoResponseTimeTo?: string;
    defaultAngle?: boolean;
    defaultAngleIdleTime?: number;
    soundDetectionRoundLook?: boolean;
}>;
type DeviceStateSchema9 = Modify<DeviceStateSchema8, {
    imageMirrored?: boolean;
}>;
export type DeviceState = DeviceStateSchema0 | DeviceStateSchema1 | DeviceStateSchema3 | DeviceStateSchema4 | DeviceStateSchema5 | DeviceStateSchema6 | DeviceStateSchema7 | DeviceStateSchema8 | DeviceStateSchema9;
export declare const dumpDevice: (device: Device, schemaVersion: number) => DeviceState;
export {};
//# sourceMappingURL=state.d.ts.map