import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class StageDescription {
    CachingEnabled?: Value<boolean>;
    ThrottlingBurstLimit?: Value<number>;
    MethodSettings?: List<MethodSetting>;
    LoggingLevel?: Value<string>;
    DataTraceEnabled?: Value<boolean>;
    ClientCertificateId?: Value<string>;
    CacheClusterEnabled?: Value<boolean>;
    CacheTtlInSeconds?: Value<number>;
    AccessLogSetting?: AccessLogSetting;
    ThrottlingRateLimit?: Value<number>;
    Variables?: MapOf<Value<string>>;
    CacheDataEncrypted?: Value<boolean>;
    CanarySetting?: CanarySetting;
    Tags?: List<Inner_ResourceTag>;
    CacheClusterSize?: Value<string>;
    Description?: Value<string>;
    DocumentationVersion?: Value<string>;
    MetricsEnabled?: Value<boolean>;
    TracingEnabled?: Value<boolean>;
    constructor(properties: StageDescription);
}
export declare class DeploymentCanarySettings {
    PercentTraffic?: Value<number>;
    StageVariableOverrides?: MapOf<Value<string>>;
    UseStageCache?: Value<boolean>;
    constructor(properties: DeploymentCanarySettings);
}
export declare class MethodSetting {
    CachingEnabled?: Value<boolean>;
    ThrottlingBurstLimit?: Value<number>;
    LoggingLevel?: Value<string>;
    DataTraceEnabled?: Value<boolean>;
    HttpMethod?: Value<string>;
    CacheTtlInSeconds?: Value<number>;
    ResourcePath?: Value<string>;
    ThrottlingRateLimit?: Value<number>;
    CacheDataEncrypted?: Value<boolean>;
    MetricsEnabled?: Value<boolean>;
    constructor(properties: MethodSetting);
}
export declare class AccessLogSetting {
    DestinationArn?: Value<string>;
    Format?: Value<string>;
    constructor(properties: AccessLogSetting);
}
export declare class CanarySetting {
    PercentTraffic?: Value<number>;
    StageVariableOverrides?: MapOf<Value<string>>;
    UseStageCache?: Value<boolean>;
    constructor(properties: CanarySetting);
}
export interface DeploymentProperties {
    DeploymentCanarySettings?: DeploymentCanarySettings;
    Description?: Value<string>;
    RestApiId: Value<string>;
    StageDescription?: StageDescription;
    StageName?: Value<string>;
}
export default class Inner_Deployment extends ResourceBase<DeploymentProperties> {
    static StageDescription: typeof StageDescription;
    static DeploymentCanarySettings: typeof DeploymentCanarySettings;
    static MethodSetting: typeof MethodSetting;
    static AccessLogSetting: typeof AccessLogSetting;
    static CanarySetting: typeof CanarySetting;
    constructor(properties: DeploymentProperties);
}
