/// <reference types="node" />
import EventEmitter from 'events';
import { EufySecurity, PropertyName } from 'eufy-security-client';
import { PluginConfigInteractor } from './interfaces';
import { Logger as TsLogger, ILogObj } from 'tslog';
export declare class EufyClientInteractor extends EventEmitter implements PluginConfigInteractor {
    private client?;
    private storagePath;
    private log;
    private server?;
    constructor(path: string, log: TsLogger<ILogObj>, client?: EufySecurity);
    setClient(client: EufySecurity): void;
    setupServer(): Promise<void>;
    stopServer(): void;
    private writePortToStoragePath;
    private loadPort;
    private ipcRequest;
    private processIPCRequest;
    private processDirectRequest;
    private getChargingStatus;
    private hasProperty;
    private getStationCamerasMap;
    private onSocketError;
    private onServerError;
    DeviceIsCharging(sn: string): Promise<number>;
    DeviceHasProperty(sn: string, propertyName: PropertyName): Promise<boolean>;
    GetStationCamerasMapping(): Promise<unknown>;
}
//# sourceMappingURL=EufyClientInteractor.d.ts.map