/// <reference types="debug" />
import { _ObjectSubSite, IObjectSubSiteConfig } from '../commons/_ObjectSubSite';
import { IDevice } from './IDevice';
import { IClientRaw } from './IClientRaw';
export type DeviceData = Partial<IDevice> & {
    _original?: Partial<Omit<DeviceData, '_original'>>;
};
export declare class Client extends _ObjectSubSite {
    static debug: import("debug").Debugger;
    private get old();
    private set old(value);
    private importValue;
    constructor(config: IObjectSubSiteConfig, props: Partial<IClientRaw> & {
        mac: string;
    });
    import(props: Partial<IClientRaw>): this;
    /**
     * Forget one or more client devices
     *
     * NOTE:
     * only supported with controller versions 5.9.X and higher, can be
     * slow (up to 5 minutes) on larger controllers
     */
    forget(): Promise<boolean>;
    save(): Promise<this>;
    block(): Promise<this>;
    unblock(): Promise<this>;
    device: DeviceData;
    _id: string;
    confidence?: number;
    firstSeen?: Date;
    hostname?: string;
    isGuest?: boolean;
    isWired?: boolean;
    lastSeen?: Date;
    mac: string;
    name?: string;
    note?: string;
    noted?: boolean;
    oui?: string;
    siteId?: string;
    groupId?: string;
    useFixedIp?: boolean;
    networkId?: string;
    fixedIp?: string;
    firmwareVersion?: string;
    score?: number;
    blocked?: boolean;
    assocTime?: Date;
    latestAssocTime?: Date;
    userId?: string;
    _uptimeByUGW?: number;
    _lastSeenByUGW?: Date;
    _isGuestByUGW?: boolean;
    gwMac?: string;
    network?: string;
    uptime?: number;
    txBytes?: number;
    rxBytes?: number;
    txPackets?: number;
    txRetries?: number;
    wifiTxAttempts?: number;
    rxPackets?: number;
    txBytesR?: number;
    rxBytesR?: number;
    qosPolicyApplied?: boolean;
    _uptimeByUSW?: number;
    _lastSeenByUSW?: Date;
    _isGuestByUSW?: boolean;
    swMac?: string;
    swDepth?: number;
    swPort?: number;
    wiredRateMbps?: number;
    anomalies?: number;
    ip?: string;
    satisfaction?: number;
    bytesR?: number;
    _uptimeByUAP?: number;
    _lastSeenByUAP?: Date;
    _isGuestByUAP?: boolean;
    apMac?: string;
    channel?: number;
    radio?: string;
    radioName?: string;
    essid?: string;
    bssid?: string;
    powersaveEnabled?: boolean;
    is11r?: boolean;
    userGroupIdComputed?: string;
    ccq?: number;
    rssi?: number;
    noise?: number;
    signal?: number;
    txRate?: number;
    rxRate?: number;
    txPower?: number;
    idletime?: number;
    dhcpendTime?: number;
    anonClientId?: string;
    txMcs?: number;
    vlan?: number;
    radioProto?: string;
    wiredTxBytes?: number;
    wiredRxBytes?: number;
    wiredTxPackets?: number;
    wiredRxPackets?: number;
    wiredTxBytesR?: number;
    wiredRxBytesR?: number;
    lastDisconnect?: Date;
}
