import { AccessDevice } from "./access-device.js";
import type { AccessDeviceConfig } from "unifi-access";
import type { CharacteristicValue, PlatformAccessory } from "homebridge";
import type { AccessController } from "./access-controller.js";
declare const sensorInputs: readonly ["Dps", "Rel", "Ren", "Rex"];
type SensorInput = typeof sensorInputs[number];
export type AccessHubHKProps = {
    [K in `hk${SensorInput}State` as K extends "hkDpsState" ? never : K]: CharacteristicValue;
};
export type AccessHubWiredProps = {
    [P in `is${SensorInput}Wired`]: boolean;
};
export interface AccessHub extends AccessHubHKProps, AccessHubWiredProps {
}
export declare class AccessHub extends AccessDevice {
    private _hkDpsState;
    private _hkLockState;
    private _hkSideDoorDpsState;
    private _hkSideDoorLockState;
    private doorbellRingRequestId;
    private gateTransitionUntil;
    private lockDelayInterval;
    private mainDoorLocationId;
    private sideDoorLocationId;
    private sideDoorGateTransitionUntil;
    uda: AccessDeviceConfig;
    constructor(controller: AccessController, device: AccessDeviceConfig, accessory: PlatformAccessory);
    protected configureHints(): boolean;
    private get doorServiceType();
    private toLockState;
    private toDpsState;
    private isLocked;
    private isClosed;
    private discoverDoorIds;
    private initializeDoorsFromBootstrap;
    private configureDevice;
    private configureAccessMethodSwitches;
    private configureDoorbell;
    private configureTerminalInputs;
    private configureSideDoorTerminalInputs;
    private configureLock;
    private configureLockService;
    private configureGarageDoorService;
    private configureDoorbellTrigger;
    private configureLockTrigger;
    private configureSideDoorLock;
    private configureSideDoorLockTrigger;
    private configureMqtt;
    private checkUltraInputs;
    private hubDoorLockCommand;
    private hubLockCommand;
    private hubSideDoorLockCommand;
    private get hkDpsState();
    private set hkDpsState(value);
    private get hkLockState();
    private set hkLockState(value);
    private updateDoorServiceState;
    private get hkSideDoorLockState();
    private set hkSideDoorLockState(value);
    private get hubDpsState();
    private get hubSideDoorDpsState();
    private get hubLockState();
    private get hubSideDoorLockState();
    private get hubRelState();
    private get hubRenState();
    private get hubRexState();
    private get isSideDoorDpsWired();
    private isWired;
    private getContactSensorState;
    private setContactSensorState;
    private hasCapability;
    private updateDoorFromLocationState;
    private handleRemoteUnlock;
    private handleDeviceUpdate;
    private handleDeviceUpdateV2;
    private handleLocationUpdate;
    private handleDoorbellRing;
    private handleDoorbellCancel;
    private eventHandler;
}
export {};
