export {};
/**
 * @class
 * @name AlertTemplate
 * @public
 * @description
 *      This class represents a filter used when an alert is created to notify only some devices. <br>
 */
declare class AlertTemplate {
    id: string;
    name: string;
    companyId: string;
    event: string;
    description: string;
    mimeType: string;
    senderName: string;
    headline: string;
    instruction: string;
    contact: string;
    type: string;
    status: string;
    scope: string;
    category: string;
    urgency: string;
    severity: string;
    certainty: string;
    constructor(id?: string, name?: string, companyId?: string, event?: string, description?: string, mimeType?: string, senderName?: string, headline?: string, instruction?: string, contact?: string, type?: string, status?: string, scope?: string, category?: string, urgency?: string, severity?: string, certainty?: string);
}
/**
 * @class
 * @name AlertTemplatesData
 * @description
 *      This class represents a Structure used when retrieving severals AlertTemplate from server. <br>
 */
declare class AlertTemplatesData {
    private alertTemplates;
    total: number;
    limit: number;
    offset: number;
    private lockEngine;
    private lockKey;
    constructor(limit?: number);
    lock(fn: any): any;
    addAlertTemplate(alertTemplate: AlertTemplate): Promise<AlertTemplate>;
    removeBubbleToJoin(alertTemplate: AlertTemplate): Promise<any>;
    getAlertTemplate(): Promise<AlertTemplate>;
    first(): Promise<AlertTemplate>;
    last(): Promise<AlertTemplate>;
}
export { AlertTemplate, AlertTemplatesData };
