import * as core from "@terrascript/core";
export interface DefaultRouteSettingsArgs extends core.SchemaArgs {
    dataTraceEnabled?: boolean | core.BooleanOut;
    detailedMetricsEnabled?: boolean | core.BooleanOut;
    loggingLevel?: string | core.StringOut;
    throttlingBurstLimit?: number | core.NumberOut;
    throttlingRateLimit?: number | core.NumberOut;
}
export declare class DefaultRouteSettings extends core.Schema<DefaultRouteSettingsArgs> {
    dataTraceEnabled?: boolean | core.BooleanOut;
    detailedMetricsEnabled?: boolean | core.BooleanOut;
    loggingLevel?: string | core.StringOut;
    throttlingBurstLimit?: number | core.NumberOut;
    throttlingRateLimit?: number | core.NumberOut;
}
export interface RouteSettingsArgs extends core.SchemaArgs {
    dataTraceEnabled?: boolean | core.BooleanOut;
    detailedMetricsEnabled?: boolean | core.BooleanOut;
    loggingLevel?: string | core.StringOut;
    routeKey: string | core.StringOut;
    throttlingBurstLimit?: number | core.NumberOut;
    throttlingRateLimit?: number | core.NumberOut;
}
export declare class RouteSettings extends core.Schema<RouteSettingsArgs> {
    dataTraceEnabled?: boolean | core.BooleanOut;
    detailedMetricsEnabled?: boolean | core.BooleanOut;
    loggingLevel?: string | core.StringOut;
    routeKey: string | core.StringOut;
    throttlingBurstLimit?: number | core.NumberOut;
    throttlingRateLimit?: number | core.NumberOut;
}
export interface AccessLogSettingsArgs extends core.SchemaArgs {
    destinationArn: string | core.StringOut;
    format: string | core.StringOut;
}
export declare class AccessLogSettings extends core.Schema<AccessLogSettingsArgs> {
    destinationArn: string | core.StringOut;
    format: string | core.StringOut;
}
export interface StageArgs extends core.ResourceArgs {
    accessLogSettings?: AccessLogSettings;
    apiId: string | core.StringOut;
    autoDeploy?: boolean | core.BooleanOut;
    clientCertificateId?: string | core.StringOut;
    defaultRouteSettings?: DefaultRouteSettings;
    deploymentId?: string | core.StringOut;
    description?: string | core.StringOut;
    name: string | core.StringOut;
    routeSettings?: core.Array<RouteSettings> | core.ArrayOut<RouteSettings>;
    stageVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Stage extends core.Resource<StageArgs> {
    accessLogSettings?: AccessLogSettings;
    apiId: string | core.StringOut;
    arn: string | core.StringOut;
    autoDeploy?: boolean | core.BooleanOut;
    clientCertificateId?: string | core.StringOut;
    defaultRouteSettings?: DefaultRouteSettings;
    deploymentId?: string | core.StringOut;
    description?: string | core.StringOut;
    executionArn: string | core.StringOut;
    id: string | core.StringOut;
    invokeUrl: string | core.StringOut;
    name: string | core.StringOut;
    routeSettings?: core.Array<RouteSettings> | core.ArrayOut<RouteSettings>;
    stageVariables?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: StageArgs);
    getNamespace(): string;
}
//# sourceMappingURL=stage.d.ts.map