import * as core from "@terrascript/core";
export interface AlarmsArgs extends core.SchemaArgs {
    alarmName: string | core.StringOut;
}
export declare class Alarms extends core.Schema<AlarmsArgs> {
    alarmName: string | core.StringOut;
}
export interface AutoRollbackConfigurationArgs extends core.SchemaArgs {
    alarms?: core.Array<Alarms> | core.ArrayOut<Alarms>;
}
export declare class AutoRollbackConfiguration extends core.Schema<AutoRollbackConfigurationArgs> {
    alarms?: core.Array<Alarms> | core.ArrayOut<Alarms>;
}
export interface CanarySizeArgs extends core.SchemaArgs {
    type: string | core.StringOut;
    value: number | core.NumberOut;
}
export declare class CanarySize extends core.Schema<CanarySizeArgs> {
    type: string | core.StringOut;
    value: number | core.NumberOut;
}
export interface LinearStepSizeArgs extends core.SchemaArgs {
    type: string | core.StringOut;
    value: number | core.NumberOut;
}
export declare class LinearStepSize extends core.Schema<LinearStepSizeArgs> {
    type: string | core.StringOut;
    value: number | core.NumberOut;
}
export interface TrafficRoutingConfigurationArgs extends core.SchemaArgs {
    canarySize?: CanarySize;
    linearStepSize?: LinearStepSize;
    type: string | core.StringOut;
    waitIntervalInSeconds: number | core.NumberOut;
}
export declare class TrafficRoutingConfiguration extends core.Schema<TrafficRoutingConfigurationArgs> {
    canarySize?: CanarySize;
    linearStepSize?: LinearStepSize;
    type: string | core.StringOut;
    waitIntervalInSeconds: number | core.NumberOut;
}
export interface BlueGreenUpdatePolicyArgs extends core.SchemaArgs {
    maximumExecutionTimeoutInSeconds?: number | core.NumberOut;
    terminationWaitInSeconds?: number | core.NumberOut;
    trafficRoutingConfiguration: TrafficRoutingConfiguration;
}
export declare class BlueGreenUpdatePolicy extends core.Schema<BlueGreenUpdatePolicyArgs> {
    maximumExecutionTimeoutInSeconds?: number | core.NumberOut;
    terminationWaitInSeconds?: number | core.NumberOut;
    trafficRoutingConfiguration: TrafficRoutingConfiguration;
}
export interface DeploymentConfigArgs extends core.SchemaArgs {
    autoRollbackConfiguration?: AutoRollbackConfiguration;
    blueGreenUpdatePolicy: BlueGreenUpdatePolicy;
}
export declare class DeploymentConfig extends core.Schema<DeploymentConfigArgs> {
    autoRollbackConfiguration?: AutoRollbackConfiguration;
    blueGreenUpdatePolicy: BlueGreenUpdatePolicy;
}
export interface EndpointArgs extends core.ResourceArgs {
    deploymentConfig?: DeploymentConfig;
    endpointConfigName: string | core.StringOut;
    name?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Endpoint extends core.Resource<EndpointArgs> {
    arn: string | core.StringOut;
    deploymentConfig?: DeploymentConfig;
    endpointConfigName: string | core.StringOut;
    id: string | core.StringOut;
    name?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: EndpointArgs);
    getNamespace(): string;
}
//# sourceMappingURL=endpoint.d.ts.map