export declare class PulseMonitoringService {
    validateMonitoringConfig(params: {
        logLocation: string;
        serviceProvider?: string;
        locationUrl?: string;
        accessKey?: string;
        secretKey?: string;
        awsRegion?: string;
        clientId?: string;
        clientSecret?: string;
        tenantId?: string;
        apiKey?: string;
    }): Promise<Record<string, any>>;
    getMonitoringConfig(params: {
        applicationId: string;
    }): Promise<Record<string, any>>;
    private verifyCredentials;
    createMonitoring(params: {
        applicationId: string;
        logLocation: string;
        serviceProvider: string;
        locationUrl: string;
        samplingFrequency: string;
        samplingPercentage: number;
        samplingCount: number;
        evaluationWindow: number;
        metrics: {
            [key: string]: any;
        }[];
        pluginsByCategory: Record<string, string[]>;
        apiKey: string;
        accessKey: string;
        secretKey: string;
        awsRegion: string;
        tenantId: string;
        clientId: string;
        clientSecret: string;
        projectId: string;
        workspaceId: string;
    }): Promise<Record<string, any>>;
    updateMonitoring(params: {
        applicationId: string;
        samplingFrequency?: string;
        samplingPercentage?: number;
        samplingCount?: number;
        evaluationWindow?: number;
        metrics?: {
            [key: string]: any;
        }[];
        pluginsByCategory?: Record<string, string[]>;
    }): Promise<Record<string, any>>;
    getMonitoring(params: {
        applicationId: string;
    }): Promise<Record<string, any>>;
    createAlert(params: {
        applicationId: string;
        projectId: string;
        workspaceId: string;
    }): Promise<Record<string, any>>;
    updateAlert(params: {
        applicationId: string;
        alerts: {
            type: string;
            metricType: string;
            comparisonType: string;
            metricValue: number;
            metricComparator: string;
            metricComparatorType: string;
        }[];
        emails: string;
        webhook: string;
    }): Promise<Record<string, any>>;
    getAlerts(params: {
        projectId: string;
        limit?: number;
        page?: number;
    }): Promise<Record<string, any>>;
    getApplicationsWithMonitoring({ limit, page, applicationIds, }: {
        limit?: number;
        page?: number;
        applicationIds?: string[];
    }): Promise<Record<string, any>[]>;
    getApplicationsWithForAlerts({ limit, page, projectId, }: {
        limit?: number;
        page?: number;
        projectId?: string;
    }): Promise<Record<string, any>[]>;
    getAlertDetails(params: {
        alertId: string;
    }): Promise<Record<string, any>>;
    getAlertLogs(params: {
        alertId: string;
        limit?: number;
        page?: number;
    }): Promise<{
        logs: Record<string, any>[];
        total: number;
        page: number;
        limit: number;
        lastAlertTime?: string;
    }>;
}
export declare const pulseMonitoringService: PulseMonitoringService;
//# sourceMappingURL=pulseMonitoringService.d.ts.map