import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.
 *  In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
 */
export declare function getUsagePlan(args: GetUsagePlanArgs, opts?: pulumi.InvokeOptions): Promise<GetUsagePlanResult>;
export interface GetUsagePlanArgs {
    /**
     * The ID for the usage plan. For example: `abc123` .
     */
    id: string;
}
export interface GetUsagePlanResult {
    /**
     * The associated API stages of a usage plan.
     */
    readonly apiStages?: outputs.apigateway.UsagePlanApiStage[];
    /**
     * The description of a usage plan.
     */
    readonly description?: string;
    /**
     * The ID for the usage plan. For example: `abc123` .
     */
    readonly id?: string;
    /**
     * The target maximum number of permitted requests per a given unit time interval.
     */
    readonly quota?: outputs.apigateway.UsagePlanQuotaSettings;
    /**
     * The collection of tags. Each tag element is associated with a given resource.
     */
    readonly tags?: outputs.Tag[];
    /**
     * A map containing method level throttling information for API stage in a usage plan.
     */
    readonly throttle?: outputs.apigateway.UsagePlanThrottleSettings;
    /**
     * The name of a usage plan.
     */
    readonly usagePlanName?: string;
}
/**
 * The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.
 *  In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
 */
export declare function getUsagePlanOutput(args: GetUsagePlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetUsagePlanResult>;
export interface GetUsagePlanOutputArgs {
    /**
     * The ID for the usage plan. For example: `abc123` .
     */
    id: pulumi.Input<string>;
}
