import { aws_cloudwatch } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { ApiAvailabilityWidget } from './api-availability-widget';
import { ApiLatencyWidget } from './api-latency-widget';
import { AppSyncAvailabilityWidget } from './appsync-availability-widget';
import { AppSyncLatencyWidget } from './appsync-latency-widget';
import { CloudfrontAvailabilityWidget } from './cloudfront-availability-widget';
import { CloudfrontLatencyWidget } from './cloudfront-latency-widget';
import { CustomAvailabilityWidget } from './custom-availability-widget';
import { CustomLatencyWidget } from './custom-latency-widget';
import { ElasticSearchAvailabilityWidget } from './elasticsearch-availability-widget';
import { ElasticSearchLatencyWidget } from './elasticsearch-latency-widget';
import { AnySLO, ApiAvailabilitySLO, ApiLatencySLO, AppSyncAvailabilitySLO, AppSyncLatencySLO, CloudfrontAvailabilitySLO, CloudfrontLatencySLO, CustomAvailabilitySLO, CustomLatencySLO, ElasticSearchAvailabilitySLO, ElasticSearchLatencySLO, IAlertConfig } from './types';
export interface ISLOAlarmsDashboardProps extends aws_cloudwatch.DashboardProps {
    /**
     * Array of slos to create widgets for. All items must match the properties defined
     * by one of the types in AnySLO
     */
    readonly slos: AnySLO[];
}
/**
 * Creates dashboard of multiwindow alarms from a list of slo objects.
 */
export declare class SLOAlarmsDashboard extends aws_cloudwatch.Dashboard {
    static apiAvailabilityAlarmsRow: (windows: IAlertConfig[], slo: ApiAvailabilitySLO) => ApiAvailabilityWidget[];
    static apiLatencyAlarmsRow: (windows: IAlertConfig[], slo: ApiLatencySLO) => ApiLatencyWidget[];
    static appSyncAvailabilityAlarmsRow: (windows: IAlertConfig[], slo: AppSyncAvailabilitySLO) => AppSyncAvailabilityWidget[];
    static appSyncLatencyAlarmsRow: (windows: IAlertConfig[], slo: AppSyncLatencySLO) => AppSyncLatencyWidget[];
    static cloudfrontAvailabilityAlarmsRow: (windows: IAlertConfig[], slo: CloudfrontAvailabilitySLO) => CloudfrontAvailabilityWidget[];
    static cloudfrontLatencyAlarmsRow: (windows: IAlertConfig[], slo: CloudfrontLatencySLO) => CloudfrontLatencyWidget[];
    static customAvailabilityAlarmsRow: (windows: IAlertConfig[], slo: CustomAvailabilitySLO) => CustomAvailabilityWidget[];
    static customLatencyAlarmsRow: (windows: IAlertConfig[], slo: CustomLatencySLO) => CustomLatencyWidget[];
    static elasticSearchAvailabilityAlarmsRow: (windows: IAlertConfig[], slo: ElasticSearchAvailabilitySLO) => ElasticSearchAvailabilityWidget[];
    static elasticSearchLatencyAlarmsRow: (windows: IAlertConfig[], slo: ElasticSearchLatencySLO) => ElasticSearchLatencyWidget[];
    constructor(scope: Construct, id: string, props: ISLOAlarmsDashboardProps);
}
