import type { DimensionsMap } from "aws-cdk-lib/aws-cloudwatch";
import type { CfnCollection } from "aws-cdk-lib/aws-opensearchserverless";
import { BaseMetricFactoryProps, RateComputationMethod, BaseMetricFactory, MetricFactory, MetricWithAlarmSupport, LatencyType } from "../../common";
export interface OpenSearchServerlessMetricFactoryProps extends BaseMetricFactoryProps {
    readonly collection: CfnCollection;
    /**
     * @default - {@link RateComputationMethod.AVERAGE}
     */
    readonly rateComputationMethod?: RateComputationMethod;
}
/**
 * @experimental This is subject to change if an L2 construct becomes available.
 *
 * @see https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring-cloudwatch.html
 */
export declare class OpenSearchServerlessMetricFactory extends BaseMetricFactory {
    protected readonly rateComputationMethod: RateComputationMethod;
    protected readonly dimensionsMap: DimensionsMap;
    constructor(metricFactory: MetricFactory, props: OpenSearchServerlessMetricFactoryProps);
    metricSearchRequestErrors(): MetricWithAlarmSupport;
    metricSearchRequestLatency(statistic: LatencyType): MetricWithAlarmSupport;
    metricIngestionRequestSuccess(): MetricWithAlarmSupport;
    metricIngestionRequestErrors(): MetricWithAlarmSupport;
    metricIngestionRequestLatency(statistic: LatencyType): MetricWithAlarmSupport;
    metric4xxCount(): MetricWithAlarmSupport;
    metric4xxRate(): MetricWithAlarmSupport;
    metric5xxCount(): MetricWithAlarmSupport;
    metric5xxRate(): MetricWithAlarmSupport;
}
