import * as core from "@terrascript/core"; export interface QuotaSettingsArgs extends core.SchemaArgs { limit: number | core.NumberOut; offset?: number | core.NumberOut; period: string | core.StringOut; } export declare class QuotaSettings extends core.Schema { limit: number | core.NumberOut; offset?: number | core.NumberOut; period: string | core.StringOut; } export interface ThrottleSettingsArgs extends core.SchemaArgs { burstLimit?: number | core.NumberOut; rateLimit?: number | core.NumberOut; } export declare class ThrottleSettings extends core.Schema { burstLimit?: number | core.NumberOut; rateLimit?: number | core.NumberOut; } export interface ThrottleArgs extends core.SchemaArgs { burstLimit?: number | core.NumberOut; path: string | core.StringOut; rateLimit?: number | core.NumberOut; } export declare class Throttle extends core.Schema { burstLimit?: number | core.NumberOut; path: string | core.StringOut; rateLimit?: number | core.NumberOut; } export interface ApiStagesArgs extends core.SchemaArgs { apiId: string | core.StringOut; stage: string | core.StringOut; throttle?: core.Array | core.ArrayOut; } export declare class ApiStages extends core.Schema { apiId: string | core.StringOut; stage: string | core.StringOut; throttle?: core.Array | core.ArrayOut; } export interface UsagePlanArgs extends core.ResourceArgs { /** * (Optional) The associated [API stages](#api-stages-arguments) of the usage plan. */ apiStages?: core.Array | core.ArrayOut; /** * (Optional) The description of a usage plan. */ description?: string | core.StringOut; /** * (Required) The name of the usage plan. */ name: string | core.StringOut; /** * (Optional) The AWS Marketplace product identifier to associate with the usage plan as a SaaS product * on AWS Marketplace. */ productCode?: string | core.StringOut; /** * (Optional) The [quota settings](#quota-settings-arguments) of the usage plan. */ quotaSettings?: QuotaSettings; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) The [throttling limits](#throttling-settings-arguments) of the usage plan. */ throttleSettings?: ThrottleSettings; } export declare class UsagePlan extends core.Resource { /** * (Optional) The associated [API stages](#api-stages-arguments) of the usage plan. */ apiStages?: core.Array | core.ArrayOut; /** * Amazon Resource Name (ARN) */ arn: string | core.StringOut; /** * (Optional) The description of a usage plan. */ description?: string | core.StringOut; /** * The ID of the API resource */ id: string | core.StringOut; /** * (Required) The name of the usage plan. */ name: string | core.StringOut; /** * (Optional) The AWS Marketplace product identifier to associate with the usage plan as a SaaS product * on AWS Marketplace. */ productCode?: string | core.StringOut; /** * (Optional) The [quota settings](#quota-settings-arguments) of the usage plan. */ quotaSettings?: QuotaSettings; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) The [throttling limits](#throttling-settings-arguments) of the usage plan. */ throttleSettings?: ThrottleSettings; constructor(name: string, args?: UsagePlanArgs); getNamespace(): string; } //# sourceMappingURL=usage_plan.d.ts.map