import { PlatformAccessory, Characteristic, CharacteristicValue, Service, WithUUID } from 'homebridge';
import { EufySecurityPlatform } from '../platform';
import { BaseAccessory } from './BaseAccessory';
import { Device, PropertyName } from 'eufy-security-client';
export type CharacteristicType = WithUUID<{
    new (): Characteristic;
}>;
export type ServiceType = WithUUID<typeof Service> | Service;
export declare abstract class DeviceAccessory extends BaseAccessory {
    constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, device: Device);
    /**
     * Get the current value of the "propertyName" characteristic
     */
    getPropertyValue(characteristic: string, propertyName: PropertyName): CharacteristicValue;
    setPropertyValue(propertyName: PropertyName, value: unknown): Promise<void>;
    protected onPushNotification(characteristicType: CharacteristicType, serviceType: ServiceType, value: CharacteristicValue): void;
    initSensorService(): void;
}
//# sourceMappingURL=Device.d.ts.map