import { aws_cloudwatch, aws_ecs, Duration } from 'aws-cdk-lib';
import { Construct } from 'constructs';
export interface EcsTaskMonitorProps {
    /**
     * The ECS cluster on which tasks are to be monitored.
     */
    readonly cluster: aws_ecs.ICluster;
    /**
     * How long to allow tasks to run before they are deemed timed out and the
     * monitor will attempt to stop them. Must be 15 minutes or more.
     */
    readonly timeout: Duration;
}
/**
 * Monitors taks on a given ECS cluster and terminates those that have been
 * running for longer than a specified timeout.
 */
export declare class EcsTaskMonitor extends Construct {
    private readonly period;
    constructor(scope: Construct, id: string, props: EcsTaskMonitorProps);
    /**
     * The age of all active tasks on the monitored ECS cluster.
     */
    metricActiveTaskAge(opts?: aws_cloudwatch.MetricOptions): aws_cloudwatch.Metric;
    /**
     * The count of active tasks on the monitored ECS cluster.
     */
    metricActiveTaskCount(opts?: aws_cloudwatch.MetricOptions): aws_cloudwatch.Metric;
    /**
     * The count of timed-out tasks the montior attempted to terminate.
     */
    metricKilledTaskCount(opts?: aws_cloudwatch.MetricOptions): aws_cloudwatch.Metric;
}
