import { DimensionsMap } from "aws-cdk-lib/aws-cloudwatch";
import { IBaseService } from "aws-cdk-lib/aws-ecs";
import { BaseMetricFactory, BaseMetricFactoryProps, MetricFactory, MetricStatistic } from "../../common";
/**
 * Props to create BaseServiceMetricFactory.
 */
export interface BaseServiceMetricFactoryProps extends BaseMetricFactoryProps {
    readonly service: IBaseService;
}
/**
 * Metric factory for a base service (parent class for e.g. Fargate and EC2 services).
 */
export declare class BaseServiceMetricFactory extends BaseMetricFactory {
    protected readonly dimensionsMap: DimensionsMap;
    /**
     * @deprecated This isn't required by cdk-monitoring-constructs anymore; use your own reference.
     */
    protected readonly service: IBaseService;
    constructor(metricFactory: MetricFactory, props: BaseServiceMetricFactoryProps);
    metricClusterCpuUtilisationInPercent(statistic?: MetricStatistic): import("../../common").MetricWithAlarmSupport;
    metricClusterMemoryUtilisationInPercent(statistic?: MetricStatistic): import("../../common").MetricWithAlarmSupport;
    metricRunningTaskCount(): import("../../common").MetricWithAlarmSupport;
    metricEphemeralStorageReserved(): import("../../common").MetricWithAlarmSupport;
    metricEphemeralStorageUtilized(): import("../../common").MetricWithAlarmSupport;
    metricEphemeralStorageUsageInPercent(): import("../../common").MetricWithAlarmSupport;
}
