import { CloudWatchServiceException as __BaseException } from "./CloudWatchServiceException";
export const ActionsSuppressedBy = {
    Alarm: "Alarm",
    ExtensionPeriod: "ExtensionPeriod",
    WaitPeriod: "WaitPeriod",
};
export const AlarmType = {
    CompositeAlarm: "CompositeAlarm",
    MetricAlarm: "MetricAlarm",
};
export const HistoryItemType = {
    Action: "Action",
    ConfigurationUpdate: "ConfigurationUpdate",
    StateUpdate: "StateUpdate",
};
export const StandardUnit = {
    Bits: "Bits",
    Bits_Second: "Bits/Second",
    Bytes: "Bytes",
    Bytes_Second: "Bytes/Second",
    Count: "Count",
    Count_Second: "Count/Second",
    Gigabits: "Gigabits",
    Gigabits_Second: "Gigabits/Second",
    Gigabytes: "Gigabytes",
    Gigabytes_Second: "Gigabytes/Second",
    Kilobits: "Kilobits",
    Kilobits_Second: "Kilobits/Second",
    Kilobytes: "Kilobytes",
    Kilobytes_Second: "Kilobytes/Second",
    Megabits: "Megabits",
    Megabits_Second: "Megabits/Second",
    Megabytes: "Megabytes",
    Megabytes_Second: "Megabytes/Second",
    Microseconds: "Microseconds",
    Milliseconds: "Milliseconds",
    None: "None",
    Percent: "Percent",
    Seconds: "Seconds",
    Terabits: "Terabits",
    Terabits_Second: "Terabits/Second",
    Terabytes: "Terabytes",
    Terabytes_Second: "Terabytes/Second",
};
export const AnomalyDetectorStateValue = {
    PENDING_TRAINING: "PENDING_TRAINING",
    TRAINED: "TRAINED",
    TRAINED_INSUFFICIENT_DATA: "TRAINED_INSUFFICIENT_DATA",
};
export const AnomalyDetectorType = {
    METRIC_MATH: "METRIC_MATH",
    SINGLE_METRIC: "SINGLE_METRIC",
};
export const ComparisonOperator = {
    GreaterThanOrEqualToThreshold: "GreaterThanOrEqualToThreshold",
    GreaterThanThreshold: "GreaterThanThreshold",
    GreaterThanUpperThreshold: "GreaterThanUpperThreshold",
    LessThanLowerOrGreaterThanUpperThreshold: "LessThanLowerOrGreaterThanUpperThreshold",
    LessThanLowerThreshold: "LessThanLowerThreshold",
    LessThanOrEqualToThreshold: "LessThanOrEqualToThreshold",
    LessThanThreshold: "LessThanThreshold",
};
export const StateValue = {
    ALARM: "ALARM",
    INSUFFICIENT_DATA: "INSUFFICIENT_DATA",
    OK: "OK",
};
export class ConcurrentModificationException extends __BaseException {
    constructor(opts) {
        super({
            name: "ConcurrentModificationException",
            $fault: "client",
            ...opts,
        });
        this.name = "ConcurrentModificationException";
        this.$fault = "client";
        Object.setPrototypeOf(this, ConcurrentModificationException.prototype);
        this.Message = opts.Message;
    }
}
export class DashboardInvalidInputError extends __BaseException {
    constructor(opts) {
        super({
            name: "DashboardInvalidInputError",
            $fault: "client",
            ...opts,
        });
        this.name = "DashboardInvalidInputError";
        this.$fault = "client";
        Object.setPrototypeOf(this, DashboardInvalidInputError.prototype);
        this.dashboardValidationMessages = opts.dashboardValidationMessages;
    }
}
export class DashboardNotFoundError extends __BaseException {
    constructor(opts) {
        super({
            name: "DashboardNotFoundError",
            $fault: "client",
            ...opts,
        });
        this.name = "DashboardNotFoundError";
        this.$fault = "client";
        Object.setPrototypeOf(this, DashboardNotFoundError.prototype);
    }
}
export class ResourceNotFound extends __BaseException {
    constructor(opts) {
        super({
            name: "ResourceNotFound",
            $fault: "client",
            ...opts,
        });
        this.name = "ResourceNotFound";
        this.$fault = "client";
        Object.setPrototypeOf(this, ResourceNotFound.prototype);
    }
}
export class InternalServiceFault extends __BaseException {
    constructor(opts) {
        super({
            name: "InternalServiceFault",
            $fault: "server",
            ...opts,
        });
        this.name = "InternalServiceFault";
        this.$fault = "server";
        Object.setPrototypeOf(this, InternalServiceFault.prototype);
        this.Message = opts.Message;
    }
}
export class InvalidParameterCombinationException extends __BaseException {
    constructor(opts) {
        super({
            name: "InvalidParameterCombinationException",
            $fault: "client",
            ...opts,
        });
        this.name = "InvalidParameterCombinationException";
        this.$fault = "client";
        Object.setPrototypeOf(this, InvalidParameterCombinationException.prototype);
    }
}
export class InvalidParameterValueException extends __BaseException {
    constructor(opts) {
        super({
            name: "InvalidParameterValueException",
            $fault: "client",
            ...opts,
        });
        this.name = "InvalidParameterValueException";
        this.$fault = "client";
        Object.setPrototypeOf(this, InvalidParameterValueException.prototype);
    }
}
export class MissingRequiredParameterException extends __BaseException {
    constructor(opts) {
        super({
            name: "MissingRequiredParameterException",
            $fault: "client",
            ...opts,
        });
        this.name = "MissingRequiredParameterException";
        this.$fault = "client";
        Object.setPrototypeOf(this, MissingRequiredParameterException.prototype);
    }
}
export class ResourceNotFoundException extends __BaseException {
    constructor(opts) {
        super({
            name: "ResourceNotFoundException",
            $fault: "client",
            ...opts,
        });
        this.name = "ResourceNotFoundException";
        this.$fault = "client";
        Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
        this.ResourceType = opts.ResourceType;
        this.ResourceId = opts.ResourceId;
        this.Message = opts.Message;
    }
}
export const ScanBy = {
    TIMESTAMP_ASCENDING: "TimestampAscending",
    TIMESTAMP_DESCENDING: "TimestampDescending",
};
export class InvalidNextToken extends __BaseException {
    constructor(opts) {
        super({
            name: "InvalidNextToken",
            $fault: "client",
            ...opts,
        });
        this.name = "InvalidNextToken";
        this.$fault = "client";
        Object.setPrototypeOf(this, InvalidNextToken.prototype);
    }
}
export const EvaluationState = {
    PARTIAL_DATA: "PARTIAL_DATA",
};
export const Statistic = {
    Average: "Average",
    Maximum: "Maximum",
    Minimum: "Minimum",
    SampleCount: "SampleCount",
    Sum: "Sum",
};
export class LimitExceededException extends __BaseException {
    constructor(opts) {
        super({
            name: "LimitExceededException",
            $fault: "client",
            ...opts,
        });
        this.name = "LimitExceededException";
        this.$fault = "client";
        Object.setPrototypeOf(this, LimitExceededException.prototype);
        this.Message = opts.Message;
    }
}
export const StatusCode = {
    COMPLETE: "Complete",
    FORBIDDEN: "Forbidden",
    INTERNAL_ERROR: "InternalError",
    PARTIAL_DATA: "PartialData",
};
export const MetricStreamOutputFormat = {
    JSON: "json",
    OPEN_TELEMETRY_0_7: "opentelemetry0.7",
    OPEN_TELEMETRY_1_0: "opentelemetry1.0",
};
export const RecentlyActive = {
    PT3H: "PT3H",
};
export class LimitExceededFault extends __BaseException {
    constructor(opts) {
        super({
            name: "LimitExceededFault",
            $fault: "client",
            ...opts,
        });
        this.name = "LimitExceededFault";
        this.$fault = "client";
        Object.setPrototypeOf(this, LimitExceededFault.prototype);
    }
}
export class InvalidFormatFault extends __BaseException {
    constructor(opts) {
        super({
            name: "InvalidFormatFault",
            $fault: "client",
            ...opts,
        });
        this.name = "InvalidFormatFault";
        this.$fault = "client";
        Object.setPrototypeOf(this, InvalidFormatFault.prototype);
    }
}
