import * as core from "@terrascript/core";
export interface EndpointConfigurationArgs extends core.SchemaArgs {
    types: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcEndpointIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class EndpointConfiguration extends core.Schema<EndpointConfigurationArgs> {
    types: core.Array<string> | core.ArrayOut<core.StringOut>;
    vpcEndpointIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface RestApiArgs extends core.ResourceArgs {
    apiKeySource?: string | core.StringOut;
    binaryMediaTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    body?: string | core.StringOut;
    description?: string | core.StringOut;
    disableExecuteApiEndpoint?: boolean | core.BooleanOut;
    endpointConfiguration?: EndpointConfiguration;
    minimumCompressionSize?: number | core.NumberOut;
    name: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    policy?: string | core.StringOut;
    putRestApiMode?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class RestApi extends core.Resource<RestApiArgs> {
    apiKeySource?: string | core.StringOut;
    arn: string | core.StringOut;
    binaryMediaTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    body?: string | core.StringOut;
    createdDate: string | core.StringOut;
    description?: string | core.StringOut;
    disableExecuteApiEndpoint?: boolean | core.BooleanOut;
    endpointConfiguration?: EndpointConfiguration;
    executionArn: string | core.StringOut;
    id: string | core.StringOut;
    minimumCompressionSize?: number | core.NumberOut;
    name: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    policy?: string | core.StringOut;
    putRestApiMode?: string | core.StringOut;
    rootResourceId: 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?: RestApiArgs);
    getNamespace(): string;
}
//# sourceMappingURL=rest_api.d.ts.map