import PioneerAvr from './pioneer-avr/pioneerAvr';
import type { Service, PlatformAccessory } from 'homebridge';
import type { PioneerAvrPlatform } from './pioneer-avr-platform';
export interface Device {
    name: string;
    origName: string;
    host: string;
    port: number;
    source: string;
    fqdn: string;
    maxVolume?: number;
    minVolume?: number;
    inputSwitches?: string[];
    listeningMode?: string;
    listeningModeFallback?: string;
    listeningModeOther?: string;
}
declare class PioneerAvrAccessory {
    private device;
    private informationService;
    tvService: Service;
    private volumeServiceLightbulb;
    private listeningServiceSwitch;
    private telnetConnectedServiceSwitch;
    private tvSpeakerService;
    enabledServices: Service[];
    avr: PioneerAvr;
    private name;
    private manufacturer;
    private model;
    private host;
    private maxVolume;
    private prefsDir;
    private inputCacheFile;
    private inputCache;
    private log;
    platform: PioneerAvrPlatform;
    accessory: PlatformAccessory;
    private version;
    private writeVisbilityTimeout;
    private telnetConnectedServiceSwitchDisconnectTimeout;
    private lastListeningSwitchPressTime;
    private readonly LOCK_INTERVAL_LISTENING_SWITCH;
    constructor(device: Device, platform: PioneerAvrPlatform, accessory: PlatformAccessory);
    handleInputSwitches(): Promise<void>;
    /**
     * Prepares the accessory's information service.
     */
    private prepareInformationService;
    /**
     * Sets up the Television service to control the AVR's power and input selection.
     */
    private prepareTvService;
    /**
     * Prepares the Television Speaker service for volume control.
     */
    private prepareTvSpeakerService;
    /**
     * Prepares the Lightbulb service for volume control.
     */
    private prepareVolumeService;
    /**
    * Prepares the Switch service for check/control if telnet connected.
    */
    private timeoutFunctionSetSwitchTelnetConnected;
    private prepareTelnetConnectedService;
    /**
    * Prepares the Switch service for listening mode control.
    */
    private prepareListeningService;
    /**
     * Prepares the input source service to allow selection of various AVR inputs.
     */
    private addInputSourceService;
    /**
     * Returns the enabled HomeKit services.
     */
    getServices(): Service[];
    private getPowerOn;
    private setPowerOn;
    private getActiveIdentifier;
    private setActiveIdentifier;
    private setVolumeSwitch;
    private getVolume;
    private setVolume;
    private getMuted;
    private setMuted;
    private getMutedInverted;
    private setMutedInverted;
    private remoteKeyPress;
    updateInputSwitchStates(activeInputId: string): void;
    private lastInputSwitchPressTime;
    private timeoutupdateInputSwitchStates;
    private readonly LOCK_INTERVAL_INPUT_SWITCH;
    addInputSwitch(host: string, inputToSwitches: string[]): void;
}
export default PioneerAvrAccessory;
//# sourceMappingURL=pioneer-avr-accessory.d.ts.map