import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { Accessory } from './accessory.js';
/**
 * Valve - Accessory implementation
 */
export declare class Valve extends Accessory {
    static readonly ACCESSORY_TYPE_NAME: string;
    static readonly GENERIC_VALVE: number;
    static readonly IRRIGATION: number;
    static readonly SHOWER_HEAD: number;
    static readonly WATER_FAUCET: number;
    static readonly INACTIVE: number;
    static readonly ACTIVE: number;
    static readonly NOT_IN_USE: number;
    static readonly IN_USE: number;
    private valveType;
    private durationTimer;
    private readonly stateStorageKey;
    private states;
    constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
    getValveType(): Promise<CharacteristicValue>;
    setActive(value: CharacteristicValue): Promise<void>;
    getActive(): Promise<CharacteristicValue>;
    getInUse(): Promise<CharacteristicValue>;
    setSetDuration(value: CharacteristicValue): Promise<void>;
    getSetDuration(): Promise<CharacteristicValue>;
    getRemainingDuration(): Promise<CharacteristicValue>;
    protected getJsonState(): string;
    protected getAccessoryTypeName(): string;
    static getValveTypeName(event: number): string;
    static getActiveName(event: number): string;
    static getInUseName(event: number): string;
}
