export {};
import { List } from "ts-generic-collections-linq";
/**
 * @class
 * @name AlertFilter
 * @public
 * @description
 *      This class Define a filter used when an alert is created to notify only some devices. <br>
 */
declare class AlertFilter {
    id: string;
    name: string;
    companyId: string;
    tags: List<string>;
    constructor(id?: string, name?: string, companyId?: string, tags?: List<string>);
}
/**
 * @class
 * @name AlertFiltersData
 * @description
 *      This class represents a Structure used to retrieve several AlertFilters objects from server. <br>
 */
declare class AlertFiltersData {
    private alertFilters;
    total: number;
    limit: number;
    offset: number;
    private lockEngine;
    private lockKey;
    constructor(limit?: number);
    lock(fn: any): any;
    addAlertFilter(alertFilter: AlertFilter): Promise<AlertFilter>;
    removeBubbleToJoin(alertFilter: AlertFilter): Promise<any>;
    getAlertFilter(): Promise<AlertFilter>;
    first(): Promise<AlertFilter>;
    last(): Promise<AlertFilter>;
}
export { AlertFilter, AlertFiltersData };
