import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { ExternalAccessory } from './externalAccessory.js';
/**
 * Television - Accessory implementation
 */
export declare class Television extends ExternalAccessory {
    static readonly ACCESSORY_TYPE_NAME: string;
    static readonly INACTIVE: number;
    static readonly ACTIVE: number;
    static readonly NOT_DISCOVERABLE: number;
    static readonly ALWAYS_DISCOVERABLE: number;
    static readonly REWIND: number;
    static readonly FAST_FORWARD: number;
    static readonly NEXT_TRACK: number;
    static readonly PREVIOUS_TRACK: number;
    static readonly ARROW_UP: number;
    static readonly ARROW_DOWN: number;
    static readonly ARROW_LEFT: number;
    static readonly ARROW_RIGHT: number;
    static readonly SELECT: number;
    static readonly BACK: number;
    static readonly EXIT: number;
    static readonly PLAY_PAUSE: number;
    static readonly INFORMATION: number;
    private readonly stateStorageKey;
    private readonly inputActiveIdStorageKey;
    private readonly configuredNameStorageKey;
    private inputSources;
    private states;
    constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
    setActive(value: CharacteristicValue): Promise<void>;
    getActive(): Promise<CharacteristicValue>;
    setActiveIdentifier(value: CharacteristicValue): Promise<void>;
    getActiveIdentifier(): Promise<CharacteristicValue>;
    setConfiguredName(value: CharacteristicValue): Promise<void>;
    getConfiguredName(): Promise<CharacteristicValue>;
    setRemoteKey(value: CharacteristicValue): Promise<void>;
    getSleepDiscoveryMode(): Promise<CharacteristicValue>;
    protected getJsonState(): string;
    protected getAccessoryTypeName(): string;
    static getStateName(state: number): string;
    static getKeyName(state: number): string;
}
