export interface DashboardSummaryGraphParams {
    type: string;
    startDate: string;
    endDate: string;
    orgId: string;
    projectId: string;
}
export interface SummaryParams {
    type: string;
    startDate: string;
    endDate: string;
    orgId: string;
    projectId: string;
}
export interface IncidentsParams {
    type: string;
    startDate: string;
    endDate: string;
    orgId: string;
    projectId: string;
    page: number;
    limit: number;
}
export interface ConditionsParams {
    orgId: string;
    projectId: string;
    page: number;
    limit: number;
}
export interface ConditionDetailsParams {
    alertId: string;
    orgId: string;
    projectId: string;
}
export interface NotificationChannelsParams {
    orgId: string;
    projectId: string;
    page: number;
    limit: number;
}
export interface NotificationChannelDetailsParams {
    notificationChannelId: string;
    orgId: string;
    projectId: string;
}
export interface CreateNotificationChannelParams {
    name: string;
    type: any;
    emails?: string;
    webhookConfig?: any;
    projectId: string;
    orgId: string;
}
export interface CreateAlertParams {
    name: string;
    applicationId: string;
    alert: any;
    notificationChannel: string;
    projectId: string;
    workspaceId: string;
    projectName: string;
}
export interface NotificationChannelAlertsParams {
    projectId: string;
    page: number;
    limit: number;
    notificationChannelId: string;
}
export interface AlertIncidentsParams {
    projectId: string;
    page: number;
    limit: number;
    alertId: string;
}
export interface UpdateAlertParams {
    alertId: string;
    name: string;
    applicationId: string;
    alert: any;
    projectId: string;
    workspaceId: string;
}
export interface UpdateNotificationChannelParams {
    notificationChannelId: string;
    name: string;
    type: any;
    emails?: string;
    webhookConfig?: any;
    projectId: string;
    orgId: string;
}
export declare const getAlertConditionTitle: (alert: any) => string;
export declare class AlertsService {
    private buildDailyRangeChartData;
    getDashboardSummaryGraph(params: DashboardSummaryGraphParams): Promise<{
        chartData: {
            x: string;
            y: number;
            date: Date;
        }[];
        upgradeMetadata: {
            upgradeRequired: boolean;
            upgradeTitle: string;
            topUpRequired: boolean;
            upgradeMessage: string;
            currentPlan: string;
            currentPlanId: string;
        };
        globalBanner: {
            show: boolean;
            data: {
                content: string;
                link: string;
                linkText: string;
                type: string;
                action: string;
                actionType: string;
                actionContent: string;
            };
        };
    }>;
    getSummary(params: SummaryParams): Promise<{
        topAlerts: {
            alertName: any;
            application: any;
            type: any;
            incidents: any;
            notificationChannel: any;
            notificationChannelType: any;
        }[];
        activeAlerts: number;
        totalIncidents: number;
        totalAlerts: number;
        inactiveAlerts: number;
    }>;
    getIncidents(params: IncidentsParams): Promise<{
        incidents: {
            id: string;
            alertId: string;
            metrics: unknown;
            createdAt: Date;
            timestamp: Date;
            count: number | null;
            applicationId: string;
            projectId: string;
            alertName: string;
            alertCondition: string | null;
            applicationName: string | null;
            notificationChannelType: number;
            notificationChannel: string;
        }[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getConditions(params: ConditionsParams): Promise<{
        conditions: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getConditionDetails(params: ConditionDetailsParams): Promise<{
        id: string;
        alertName: string;
        application: string;
        type: any;
        alertsConditon: any;
        notificationChannel: string;
        notificationChannelType: number;
        lastAlertAt: string | Date;
        createdAt: Date;
    }>;
    getNotificationChannels(params: NotificationChannelsParams): Promise<{
        channels: {
            id: string;
            name: string;
            type: number;
            status: number | null;
            createdAt: Date;
            config: unknown;
            usedFor: number;
            details: string;
        }[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getNotificationChannelDetails(params: NotificationChannelDetailsParams): Promise<{
        id: string;
        name: string;
        type: number;
        status: number | null;
        createdAt: Date;
        details: string;
    }>;
    createNotificationChannel(params: CreateNotificationChannelParams): Promise<{
        type: number;
        status: number | null;
        id: string;
        config: unknown;
        name: string;
        workspaceId: string | null;
        projectId: string;
        createdAt: Date;
        updatedAt: Date;
    }>;
    createAlert(params: CreateAlertParams): Promise<{
        status: number | null;
        id: string;
        applicationId: string;
        name: string;
        webhook: string | null;
        workspaceId: string | null;
        projectId: string;
        alert: unknown;
        createdAt: Date;
        updatedAt: Date;
        emails: string | null;
        condition: string | null;
        alertsTriggered: number | null;
    }>;
    getNotificationChannelAlerts(params: NotificationChannelAlertsParams): Promise<{
        alerts: {
            id: string;
            applicationId: string;
            applicationName: string | null;
            alertsTriggered: number | null;
            createdAt: Date;
            alertName: string;
            alertCondition: string | null;
        }[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getAlertIncidents(params: AlertIncidentsParams): Promise<{
        incidents: {
            id: string;
            createdAt: Date;
            timestamp: Date;
            alertName: unknown;
            alertCondition: string | null;
            notificationChannelType: number | null;
            notificationChannel: string | null;
        }[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    updateAlert(params: UpdateAlertParams): Promise<{
        id: string;
        name: string;
        applicationId: string;
        alert: unknown;
        emails: string | null;
        webhook: string | null;
        projectId: string;
        workspaceId: string | null;
        status: number | null;
        condition: string | null;
        alertsTriggered: number | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    updateNotificationChannel(params: UpdateNotificationChannelParams): Promise<{
        id: string;
        name: string;
        type: number;
        config: unknown;
        projectId: string;
        workspaceId: string | null;
        status: number | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
}
//# sourceMappingURL=alertsService.d.ts.map