import * as core from "@terrascript/core";
export interface MetricArgs extends core.SchemaArgs {
    dimensions?: core.Map<string, string> | core.MapOut<core.StringOut>;
    metricName: string | core.StringOut;
    namespace?: string | core.StringOut;
    period: number | core.NumberOut;
    stat: string | core.StringOut;
    unit?: string | core.StringOut;
}
export declare class Metric extends core.Schema<MetricArgs> {
    dimensions?: core.Map<string, string> | core.MapOut<core.StringOut>;
    metricName: string | core.StringOut;
    namespace?: string | core.StringOut;
    period: number | core.NumberOut;
    stat: string | core.StringOut;
    unit?: string | core.StringOut;
}
export interface MetricQueryArgs extends core.SchemaArgs {
    accountId?: string | core.StringOut;
    expression?: string | core.StringOut;
    id: string | core.StringOut;
    label?: string | core.StringOut;
    metric?: Metric;
    returnData?: boolean | core.BooleanOut;
}
export declare class MetricQuery extends core.Schema<MetricQueryArgs> {
    accountId?: string | core.StringOut;
    expression?: string | core.StringOut;
    id: string | core.StringOut;
    label?: string | core.StringOut;
    metric?: Metric;
    returnData?: boolean | core.BooleanOut;
}
export interface MetricAlarmArgs extends core.ResourceArgs {
    actionsEnabled?: boolean | core.BooleanOut;
    alarmActions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    alarmDescription?: string | core.StringOut;
    alarmName: string | core.StringOut;
    comparisonOperator: string | core.StringOut;
    datapointsToAlarm?: number | core.NumberOut;
    dimensions?: core.Map<string, string> | core.MapOut<core.StringOut>;
    evaluateLowSampleCountPercentiles?: string | core.StringOut;
    evaluationPeriods: number | core.NumberOut;
    extendedStatistic?: string | core.StringOut;
    insufficientDataActions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    metricName?: string | core.StringOut;
    metricQuery?: core.Array<MetricQuery> | core.ArrayOut<MetricQuery>;
    namespace?: string | core.StringOut;
    okActions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    period?: number | core.NumberOut;
    statistic?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    threshold?: number | core.NumberOut;
    thresholdMetricId?: string | core.StringOut;
    treatMissingData?: string | core.StringOut;
    unit?: string | core.StringOut;
}
export declare class MetricAlarm extends core.Resource<MetricAlarmArgs> {
    actionsEnabled?: boolean | core.BooleanOut;
    alarmActions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    alarmDescription?: string | core.StringOut;
    alarmName: string | core.StringOut;
    arn: string | core.StringOut;
    comparisonOperator: string | core.StringOut;
    datapointsToAlarm?: number | core.NumberOut;
    dimensions?: core.Map<string, string> | core.MapOut<core.StringOut>;
    evaluateLowSampleCountPercentiles?: string | core.StringOut;
    evaluationPeriods: number | core.NumberOut;
    extendedStatistic?: string | core.StringOut;
    id: string | core.StringOut;
    insufficientDataActions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    metricName?: string | core.StringOut;
    metricQuery?: core.Array<MetricQuery> | core.ArrayOut<MetricQuery>;
    namespace?: string | core.StringOut;
    okActions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    period?: number | core.NumberOut;
    statistic?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    threshold?: number | core.NumberOut;
    thresholdMetricId?: string | core.StringOut;
    treatMissingData?: string | core.StringOut;
    unit?: string | core.StringOut;
    constructor(name: string, args?: MetricAlarmArgs);
    getNamespace(): string;
}
//# sourceMappingURL=metric_alarm.d.ts.map