import { Categories } from 'homebridge';
import { BatteryConfiguration } from './accessories/configurationBattery.js';
import { DoorConfiguration } from './accessories/configurationDoor.js';
import { DoorbellConfiguration } from './accessories/configurationDoorbell.js';
import { FanConfiguration } from './accessories/configurationFan.js';
import { FilterMaintenanceConfiguration } from './accessories/configurationFilterMaintenance.js';
import { GarageDoorConfiguration } from './accessories/configurationGarageDoor.js';
import { HeaterCoolerConfiguration } from './accessories/configurationHeaterCooler.js';
import { HumidifierDehumidifierConfiguration } from './accessories/configurationHumidifierDehumidifier.js';
import { LightbulbConfiguration } from './accessories/configurationLightbulb.js';
import { LockConfiguration } from './accessories/configurationLock.js';
import { SecuritySystemConfiguration } from './accessories/configurationSecuritySystem.js';
import { SensorConfiguration } from './configurationSensor.js';
import { SpeakerConfiguration } from './accessories/configurationSpeaker.js';
import { SwitchConfiguration } from './accessories/configurationSwitch.js';
import { TelevisionConfiguration } from './accessories/configurationTelevision.js';
import { ValveConfiguration } from './accessories/configurationValve.js';
import { WindowConfiguration } from './accessories/configurationWindow.js';
import { WindowCoveringConfiguration } from './accessories/configurationWindowCovering.js';
import { CronTriggerConfiguration } from './triggers/configurationCronTrigger.js';
import { PingTriggerConfiguration } from './triggers/configurationPingTrigger.js';
import { SunEventsTriggerConfiguration } from './triggers/configurationSunEventsTrigger.js';
import { WebhookTriggerConfiguration } from './triggers/configurationWebhookTriggerConfiguration.js';
import { CompanionSensorConfiguration } from './configurationCompanionSensor.js';
import { InputSourceConfiguration } from './accessories/configurationInputSource.js';
import { TimerConfiguration } from './configurationTimer.js';
/**
 *
 */
export declare class AccessoryConfiguration {
    accessoryID: string;
    accessoryName: string;
    accessoryType: string;
    accessoryIsStateful: boolean;
    battery: BatteryConfiguration;
    door: DoorConfiguration;
    doorbell: DoorbellConfiguration;
    fan: FanConfiguration;
    filterMaintenance: FilterMaintenanceConfiguration;
    garageDoor: GarageDoorConfiguration;
    heaterCooler: HeaterCoolerConfiguration;
    humidifierDehumidifier: HumidifierDehumidifierConfiguration;
    lightbulb: LightbulbConfiguration;
    lock: LockConfiguration;
    securitySystem: SecuritySystemConfiguration;
    sensor: SensorConfiguration;
    speaker: SpeakerConfiguration;
    switch: SwitchConfiguration;
    television: TelevisionConfiguration;
    valve: ValveConfiguration;
    window: WindowConfiguration;
    windowCovering: WindowCoveringConfiguration;
    resetTimer: TimerConfiguration;
    companionSensor: CompanionSensorConfiguration;
    pingTrigger: PingTriggerConfiguration;
    cronTrigger: CronTriggerConfiguration;
    sunEventsTrigger: SunEventsTriggerConfiguration;
    webhookTrigger: WebhookTriggerConfiguration;
    category?: Categories;
    inputSource: InputSourceConfiguration;
    private errorFields;
    readonly fieldNames: { [P in keyof this]?: P | undefined; };
    isValid(): [boolean, string[]];
    private isValidId;
    private isValidAccessory;
    /**
     * Accessory validation
     */
    private isErrorless;
    private isErrorlessSensor;
    private isErrorlessSwitch;
    /**
     * Decoration validations
     */
    private isErrorlessResetTimer;
    private isValidCompanionSensor;
    private isValidTrigger;
}
