import { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { Accessory } from './accessory.js';
/**
 * Lock - Accessory implementation
 */
export declare class Lock extends Accessory {
    static readonly ACCESSORY_TYPE_NAME: string;
    static readonly UNSECURED: number;
    static readonly SECURED: number;
    static readonly JAMMED: number;
    static readonly UNKNOWN: number;
    static readonly SECURED_REMOTELY: number;
    static readonly UNSECURED_REMOTELY: number;
    static readonly SECURED_BY_AUTO_SECURE_TIMEOUT: number;
    private readonly stateStorageKey;
    private readonly securityTimeoutStorageKey;
    private readonly lastKnownAction;
    private securityTimerId;
    private states;
    constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
    getLockCurrentState(): Promise<CharacteristicValue>;
    setLockTargetState(value: CharacteristicValue): Promise<void>;
    getLockTargetState(): Promise<CharacteristicValue>;
    setLockControlPoint(value: CharacteristicValue): Promise<void>;
    getVersion(): Promise<CharacteristicValue>;
    setLockManagementAutoSecurityTimeout(value: CharacteristicValue): Promise<void>;
    getLockManagementAutoSecurityTimeout(): Promise<CharacteristicValue>;
    getLockLastKnownAction(): Promise<CharacteristicValue>;
    protected getJsonState(): string;
    protected getAccessoryTypeName(): string;
    static getStateName(state: number): string;
    private startAutoSecurityTimeout;
}
