import { RingCamera, RingDevice } from '../api'; import { HAP } from './hap'; import Service = HAP.Service; import { Observable } from 'rxjs'; import { RingPlatformConfig } from './config'; export declare abstract class BaseAccessory { abstract readonly device: T; abstract readonly accessory: HAP.Accessory; abstract readonly logger: HAP.Log; abstract readonly config: RingPlatformConfig; private servicesInUse; initBase(): void; getService(serviceType: HAP.Service, name?: string, subType?: string): HAP.Service; registerCharacteristic(characteristicType: HAP.Characteristic, serviceType: Service, getValue: (data: T['data']) => any, setValue?: (data: any) => any, setValueDebounceTime?: number, name?: string, requestUpdate?: () => any): void; registerLevelCharacteristic(characteristicType: HAP.Characteristic, serviceType: Service, getValue: (data: T['data']) => number, setValue: (data: any) => any): void; registerObservableCharacteristic(characteristicType: HAP.Characteristic, serviceType: Service, onValue: Observable, name?: string): void; pruneUnusedServices(): void; }