import * as core from "@terrascript/core";
export interface CorsConfigurationArgs extends core.SchemaArgs {
    allowCredentials?: boolean | core.BooleanOut;
    allowHeaders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    allowMethods?: core.Array<string> | core.ArrayOut<core.StringOut>;
    allowOrigins?: core.Array<string> | core.ArrayOut<core.StringOut>;
    exposeHeaders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    maxAge?: number | core.NumberOut;
}
export declare class CorsConfiguration extends core.Schema<CorsConfigurationArgs> {
    allowCredentials?: boolean | core.BooleanOut;
    allowHeaders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    allowMethods?: core.Array<string> | core.ArrayOut<core.StringOut>;
    allowOrigins?: core.Array<string> | core.ArrayOut<core.StringOut>;
    exposeHeaders?: core.Array<string> | core.ArrayOut<core.StringOut>;
    maxAge?: number | core.NumberOut;
}
export interface ApiArgs extends core.ResourceArgs {
    apiKeySelectionExpression?: string | core.StringOut;
    body?: string | core.StringOut;
    corsConfiguration?: CorsConfiguration;
    credentialsArn?: string | core.StringOut;
    description?: string | core.StringOut;
    disableExecuteApiEndpoint?: boolean | core.BooleanOut;
    failOnWarnings?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    protocolType: string | core.StringOut;
    routeKey?: string | core.StringOut;
    routeSelectionExpression?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    target?: string | core.StringOut;
    version?: string | core.StringOut;
}
export declare class Api extends core.Resource<ApiArgs> {
    apiEndpoint: string | core.StringOut;
    apiKeySelectionExpression?: string | core.StringOut;
    arn: string | core.StringOut;
    body?: string | core.StringOut;
    corsConfiguration?: CorsConfiguration;
    credentialsArn?: string | core.StringOut;
    description?: string | core.StringOut;
    disableExecuteApiEndpoint?: boolean | core.BooleanOut;
    executionArn: string | core.StringOut;
    failOnWarnings?: boolean | core.BooleanOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    protocolType: string | core.StringOut;
    routeKey?: string | core.StringOut;
    routeSelectionExpression?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    target?: string | core.StringOut;
    version?: string | core.StringOut;
    constructor(name: string, args?: ApiArgs);
    getNamespace(): string;
}
//# sourceMappingURL=api.d.ts.map