import { Categories } from 'homebridge';
import { AirPurifierConfiguration } from './accessories/configurationAirPurifier.js';
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 { MicrophoneConfiguration } from './accessories/configurationMicrophone.js';
import { SecuritySystemConfiguration } from './accessories/configurationSecuritySystem.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 { BinarySensorConfiguration } from './configurationBinarySensor.js';
import { MeasurementSensorConfiguration } from './configurationMeasurementSensor.js';
import { CronTriggerConfiguration } from './triggers/configurationCronTrigger.js';
import { IkeaMatterStockTriggerConfiguration } from './triggers/configurationIkeaMatterStockTrigger.js';
import { PingTriggerConfiguration } from './triggers/configurationPingTrigger.js';
import { StartupTriggerConfiguration } from './triggers/configurationStartupTrigger.js';
import { SunEventsTriggerConfiguration } from './triggers/configurationSunEventsTrigger.js';
import { WebhookTriggerConfiguration } from './triggers/configurationWebhookTrigger.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;
    airPurifier: AirPurifierConfiguration;
    battery: BatteryConfiguration;
    door: DoorConfiguration;
    doorbell: DoorbellConfiguration;
    fan: FanConfiguration;
    filterMaintenance: FilterMaintenanceConfiguration;
    garageDoor: GarageDoorConfiguration;
    heaterCooler: HeaterCoolerConfiguration;
    humidifierDehumidifier: HumidifierDehumidifierConfiguration;
    lightbulb: LightbulbConfiguration;
    lock: LockConfiguration;
    microphone: MicrophoneConfiguration;
    securitySystem: SecuritySystemConfiguration;
    speaker: SpeakerConfiguration;
    switch: SwitchConfiguration;
    television: TelevisionConfiguration;
    valve: ValveConfiguration;
    window: WindowConfiguration;
    windowCovering: WindowCoveringConfiguration;
    measurement: MeasurementSensorConfiguration;
    sensor: BinarySensorConfiguration;
    resetTimer: TimerConfiguration;
    companionSensor: CompanionSensorConfiguration;
    cronTrigger: CronTriggerConfiguration;
    ikeaMatterStockTrigger: IkeaMatterStockTriggerConfiguration;
    pingTrigger: PingTriggerConfiguration;
    startupTrigger: StartupTriggerConfiguration;
    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 isErrorlessBinarySensor;
    private isErrorlessMeasurementSensor;
    private isErrorlessSwitch;
    /**
     * Decoration validations
     */
    private isErrorlessResetTimer;
    private isValidCompanionSensor;
    private isValidTrigger;
}
