import { CharacteristicValue, PlatformAccessory, Service } from 'homebridge';
import { HomebridgeHomeWizardEnergySocket } from './platform';
import { EnergySocketApi, IdentifyResponse, StateResponse } from 'homewizard-energy-api';
import { HomeWizardEnergyPlatformAccessoryContext } from './types';
export declare class EnergySocketAccessory {
    private readonly platform;
    private readonly accessory;
    protected service: Service;
    private informationService;
    private properties;
    private energySocketApi;
    private localStateResponse;
    private config;
    private localStatePolling;
    private pollingTimeout;
    longPollErrorCount: number;
    longPollCrossedThresholdAboveAt: Date | null;
    longPollCrossedThresholdBelowAt: Date | null;
    statePollingErrorCount: number;
    protected setService(service: Service): void;
    constructor(platform: HomebridgeHomeWizardEnergySocket, accessory: PlatformAccessory<HomeWizardEnergyPlatformAccessoryContext>, api: EnergySocketApi);
    get log(): {
        info: (...parameters: any[]) => void;
        warn: (...parameters: any[]) => void;
        error: (...parameters: any[]) => void;
        debug: (...parameters: any[]) => void;
    };
    get initialIsOutletInUse(): boolean;
    get firmwareVersion(): number | null;
    get isOutletInUse(): boolean;
    get thresholdDurationInMs(): number;
    get isThresholdCrossedAboveAfterDuration(): boolean | null;
    get isThresholdCrossedBelowAfterDuration(): boolean | null;
    get isSwitchLockEnabled(): boolean;
    get modelName(): string;
    getCurrentOnState(): import("homebridge").Nullable<CharacteristicValue>;
    updateCurrentOnState(value: CharacteristicValue): void;
    getIsActivePowerAboveThreshold(activePower: number | null | undefined): boolean;
    setOutletInUse(value: boolean, activePower: number | null | undefined): void;
    setLocalStateResponse(response: StateResponse): void;
    syncOutletInUseStateWithOnState(isOn: boolean): void;
    longPollData(): Promise<void>;
    handleIdentify(): Promise<IdentifyResponse>;
    handleSetOn(value: CharacteristicValue): Promise<void>;
    handleGetOn(): Promise<CharacteristicValue>;
    handleAccessoryApiError(error: unknown, fallbackErrorMessage?: string): import("homebridge").HapStatusError;
    pollState(): Promise<void>;
    startStatePolling(): Promise<void>;
    stopStatePolling(): void;
}
//# sourceMappingURL=energy-socket-accessory.d.ts.map