import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to access information about an existing API Management API.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.apimanagement.getApi({
 *     name: "search-api",
 *     apiManagementName: "search-api-management",
 *     resourceGroupName: "search-service",
 *     revision: "2",
 * });
 * export const apiManagementApiId = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.ApiManagement` - 2022-08-01
 */
export declare function getApi(args: GetApiArgs, opts?: pulumi.InvokeOptions): Promise<GetApiResult>;
/**
 * A collection of arguments for invoking getApi.
 */
export interface GetApiArgs {
    /**
     * The name of the API Management Service in which the API Management API exists.
     */
    apiManagementName: string;
    /**
     * The name of the API Management API.
     */
    name: string;
    /**
     * The Name of the Resource Group in which the API Management Service exists.
     */
    resourceGroupName: string;
    /**
     * The Revision of the API Management API.
     */
    revision: string;
}
/**
 * A collection of values returned by getApi.
 */
export interface GetApiResult {
    readonly apiManagementName: string;
    /**
     * A description of the API Management API, which may include HTML formatting tags.
     */
    readonly description: string;
    /**
     * The display name of the API.
     */
    readonly displayName: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Is this the current API Revision?
     */
    readonly isCurrent: boolean;
    /**
     * Is this API Revision online/accessible via the Gateway?
     */
    readonly isOnline: boolean;
    readonly name: string;
    /**
     * The Path for this API Management API.
     */
    readonly path: string;
    /**
     * A list of protocols the operations in this API can be invoked.
     */
    readonly protocols: string[];
    readonly resourceGroupName: string;
    readonly revision: string;
    /**
     * Absolute URL of the backend service implementing this API.
     */
    readonly serviceUrl: string;
    /**
     * Should this API expose a SOAP frontend, rather than a HTTP frontend?
     */
    readonly soapPassThrough: boolean;
    /**
     * A `subscriptionKeyParameterNames` block as documented below.
     */
    readonly subscriptionKeyParameterNames: outputs.apimanagement.GetApiSubscriptionKeyParameterName[];
    /**
     * Should this API require a subscription key?
     */
    readonly subscriptionRequired: boolean;
    /**
     * The Version number of this API, if this API is versioned.
     */
    readonly version: string;
    /**
     * The ID of the Version Set which this API is associated with.
     */
    readonly versionSetId: string;
}
/**
 * Use this data source to access information about an existing API Management API.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.apimanagement.getApi({
 *     name: "search-api",
 *     apiManagementName: "search-api-management",
 *     resourceGroupName: "search-service",
 *     revision: "2",
 * });
 * export const apiManagementApiId = example.then(example => example.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.ApiManagement` - 2022-08-01
 */
export declare function getApiOutput(args: GetApiOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetApiResult>;
/**
 * A collection of arguments for invoking getApi.
 */
export interface GetApiOutputArgs {
    /**
     * The name of the API Management Service in which the API Management API exists.
     */
    apiManagementName: pulumi.Input<string>;
    /**
     * The name of the API Management API.
     */
    name: pulumi.Input<string>;
    /**
     * The Name of the Resource Group in which the API Management Service exists.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * The Revision of the API Management API.
     */
    revision: pulumi.Input<string>;
}
//# sourceMappingURL=getApi.d.ts.map