import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
import { Construct } from 'constructs';
import { IWatchful } from './watchful';
/**
 * Options for defining alarms.
 */
export interface WatchApplicationLoadBalancerOptions {
    /**
     * Number of allowed rejected connections per minute.
     *
     * @defaultValue 0
     */
    readonly rejectedConnectionPerMinuteThreshold?: number;
    /**
     * Number of allowed HTTP 5xx requests per minute.
     *
     * @defaultValue 0
     */
    readonly http5xxPerMinuteThreshold?: number;
}
/**
 * Properties for defining a WatchApplicationLoadBalancer
 */
export interface WatchApplicationLoadBalancerProps extends WatchApplicationLoadBalancerOptions {
    /**
     * The reference to IWatchful class. Used internally.
     */
    readonly watchful: IWatchful;
    /**
     * The application load balancer that should be watched.
     * [disable-awslint:ref-via-interface]
     */
    readonly alb: elbv2.ApplicationLoadBalancer;
}
/**
 * A Construct which creates the following alarms for application load balancers:
 *
 * - rejected connections
 * - http-code 5xx
 */
export declare class WatchApplicationLoadBalancer extends Construct {
    private readonly watchful;
    private readonly alb;
    constructor(scope: Construct, id: string, props: WatchApplicationLoadBalancerProps);
    private createRejectedConnectionMonitor;
    private createHttpCode5xxMonitor;
}
