import { ResourceBase } from "../../resource";
import { Value, List } from "../../data-types";
export declare class Metric {
    Dimensions?: List<Dimension>;
    MetricName?: Value<string>;
    Namespace?: Value<string>;
    constructor(properties: Metric);
}
export declare class Dimension {
    Name: Value<string>;
    Value: Value<string>;
    constructor(properties: Dimension);
}
export declare class MetricStat {
    Metric: Metric;
    Period: Value<number>;
    Stat: Value<string>;
    Unit?: Value<string>;
    constructor(properties: MetricStat);
}
export declare class MetricDataQuery {
    Expression?: Value<string>;
    Id: Value<string>;
    Label?: Value<string>;
    MetricStat?: MetricStat;
    ReturnData?: Value<boolean>;
    constructor(properties: MetricDataQuery);
}
export interface AlarmProperties {
    Period?: Value<number>;
    OKActions?: List<Value<string>>;
    Metrics?: List<MetricDataQuery>;
    Unit?: Value<string>;
    ActionsEnabled?: Value<boolean>;
    EvaluateLowSampleCountPercentile?: Value<string>;
    DatapointsToAlarm?: Value<number>;
    Threshold?: Value<number>;
    AlarmDescription?: Value<string>;
    AlarmActions?: List<Value<string>>;
    Dimensions?: List<Dimension>;
    ComparisonOperator: Value<string>;
    Statistic?: Value<string>;
    InsufficientDataActions?: List<Value<string>>;
    ThresholdMetricId?: Value<string>;
    TreatMissingData?: Value<string>;
    EvaluationPeriods: Value<number>;
    ExtendedStatistic?: Value<string>;
    MetricName?: Value<string>;
    Namespace?: Value<string>;
    AlarmName?: Value<string>;
}
export default class Inner_Alarm extends ResourceBase<AlarmProperties> {
    static Metric: typeof Metric;
    static Dimension: typeof Dimension;
    static MetricStat: typeof MetricStat;
    static MetricDataQuery: typeof MetricDataQuery;
    constructor(properties: AlarmProperties);
}
