import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { Accessory } from './accessory.js';
/**
 * InputSource - Accessory implementation
 */
export declare class InputSource extends Accessory {
    static readonly ACCESSORY_TYPE_NAME: string;
    static readonly OTHER = 0;
    static readonly HOME_SCREEN = 1;
    static readonly TUNER = 2;
    static readonly HDMI = 3;
    static readonly COMPOSITE_VIDEO = 4;
    static readonly S_VIDEO = 5;
    static readonly COMPONENT_VIDEO = 6;
    static readonly DVI = 7;
    static readonly AIRPLAY = 8;
    static readonly USB = 9;
    static readonly APPLICATION = 10;
    static readonly NOT_CONFIGURED = 0;
    static readonly CONFIGURED = 1;
    static readonly SHOWN = 0;
    static readonly HIDDEN = 1;
    private states;
    constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
    setConfiguredName(value: CharacteristicValue): Promise<void>;
    getConfiguredName(): Promise<CharacteristicValue>;
    getInputSourceType(): Promise<CharacteristicValue>;
    setIsConfigured(value: CharacteristicValue): Promise<void>;
    getIsConfigured(): Promise<CharacteristicValue>;
    getCurrentVisibilityState(): Promise<CharacteristicValue>;
    getIdentifier(): Promise<CharacteristicValue>;
    protected getJsonState(): string;
    protected getAccessoryTypeName(): string;
    static getTypeName(event: number): string;
    static getConfiguredName(event: number): string;
    static getVisibilityName(event: number): string;
}
