import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.*
 */
export declare function getApi(args: GetApiArgs, opts?: pulumi.InvokeOptions): Promise<GetApiResult>;
export interface GetApiArgs {
    /**
     * The API identifier.
     */
    apiId: string;
}
export interface GetApiResult {
    /**
     * The default endpoint for an API. For example: `https://abcdef.execute-api.us-west-2.amazonaws.com` .
     */
    readonly apiEndpoint?: string;
    /**
     * The API identifier.
     */
    readonly apiId?: string;
    /**
     * An API key selection expression. Supported only for WebSocket APIs. See [API Key Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions).
     */
    readonly apiKeySelectionExpression?: string;
    /**
     * A CORS configuration. Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.
     */
    readonly corsConfiguration?: outputs.apigatewayv2.ApiCors;
    /**
     * The description of the API.
     */
    readonly description?: string;
    /**
     * Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
     */
    readonly disableExecuteApiEndpoint?: boolean;
    /**
     * The IP address types that can invoke the API. Use `ipv4` to allow only IPv4 addresses to invoke your API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your API.
     *
     * Don’t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.
     */
    readonly ipAddressType?: string;
    /**
     * The name of the API. Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation``.
     */
    readonly name?: string;
    /**
     * The route selection expression for the API. For HTTP APIs, the ``routeSelectionExpression`` must be ``${request.method} ${request.path}``. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
     */
    readonly routeSelectionExpression?: string;
    /**
     * The collection of tags. Each tag element is associated with a given resource.
     */
    readonly tags?: {
        [key: string]: string;
    };
    /**
     * A version identifier for the API.
     */
    readonly version?: string;
}
/**
 * The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.*
 */
export declare function getApiOutput(args: GetApiOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetApiResult>;
export interface GetApiOutputArgs {
    /**
     * The API identifier.
     */
    apiId: pulumi.Input<string>;
}
