export {};
import { IDictionary, List } from "ts-generic-collections-linq";
/**
 * @class
 * @name AlertDevice
 * @public
 * @description
 *      This class represents an Alert device to receive the "Alert". It needs subscription to Alert license. <br>
 */
declare class AlertDevice {
    id: string;
    name: string;
    type: string;
    userId: string;
    companyId: string;
    jid_im: string;
    jid_resource: string;
    creationDate: string;
    ipAddresses: List<string>;
    macAddresses: List<string>;
    tags: List<string>;
    geolocation: string;
    domainUsername: string;
    description: string;
    constructor(id?: string, name?: string, type?: string, userId?: string, companyId?: string, jid_im?: string, jid_resource?: string, creationDate?: string, ipAddresses?: List<string>, macAddresses?: List<string>, tags?: List<string>, geolocation?: string, domainUsername?: string, description?: string);
}
/**
 * @class
 * @name AlertDevicesData
 * @description
 *      This class represents a list of retrieved "Alert Device" to receive the "Alert". <br>
 */
declare class AlertDevicesData {
    private alertDevices;
    total: number;
    limit: number;
    offset: number;
    private lockEngine;
    private lockKey;
    constructor(limit?: number);
    lock(fn: any): any;
    addAlertDevice(alertDevice: AlertDevice): Promise<AlertDevice>;
    removeBubbleToJoin(alertDevice: AlertDevice): Promise<any>;
    getAlertDevice(): Promise<AlertDevice>;
    first(): Promise<AlertDevice>;
    last(): Promise<AlertDevice>;
    getAlertDevices(): IDictionary<string, AlertDevice>;
}
export { AlertDevice, AlertDevicesData };
