import type { AwsResourceCommon, CloudFormationTags } from "../common";
import type { CloudFormationString } from "../IntrinsicFunctions";
import type { AccessLogSetting, CanarySetting, MethodSetting } from "./common";
export declare type DeploymentType = 'AWS::ApiGateway::Deployment';
export interface Deployment extends AwsResourceCommon {
    Type: DeploymentType;
    Properties: {
        DeploymentCanarySettings?: {
            PercentTraffic?: number;
            StageVariableOverrides?: Record<string, string>;
            UseStageCache?: boolean;
        };
        Description?: string;
        RestApiId: CloudFormationString;
        StageDescription?: {
            AccessLogSetting?: AccessLogSetting;
            CacheClusterEnabled?: boolean;
            CacheClusterSize?: string;
            CacheDataEncrypted?: boolean;
            CacheTtlInSeconds?: number;
            CachingEnabled?: boolean;
            CanarySetting?: CanarySetting;
            ClientCertificateId?: string;
            DataTraceEnabled?: boolean;
            Description?: string;
            DocumentationVersion?: string;
            LoggingLevel?: string;
            MethodSettings?: MethodSetting[];
            MetricsEnabled?: boolean;
            Tags?: CloudFormationTags;
            ThrottlingBurstLimit?: number;
            ThrottlingRateLimit?: number;
            TracingEnabled?: boolean;
            Variables?: Record<string, string>;
        };
        StageName?: string;
    };
}
