import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class ApiStage {
    ApiId?: Value<string>;
    Stage?: Value<string>;
    Throttle?: MapOf<ThrottleSettings>;
    constructor(properties: ApiStage);
}
export declare class QuotaSettings {
    Limit?: Value<number>;
    Offset?: Value<number>;
    Period?: Value<string>;
    constructor(properties: QuotaSettings);
}
export declare class ThrottleSettings {
    BurstLimit?: Value<number>;
    RateLimit?: Value<number>;
    constructor(properties: ThrottleSettings);
}
export interface UsagePlanProperties {
    ApiStages?: List<ApiStage>;
    Description?: Value<string>;
    Quota?: QuotaSettings;
    Tags?: List<Inner_ResourceTag>;
    Throttle?: ThrottleSettings;
    UsagePlanName?: Value<string>;
}
export default class Inner_UsagePlan extends ResourceBase<UsagePlanProperties> {
    static ApiStage: typeof ApiStage;
    static QuotaSettings: typeof QuotaSettings;
    static ThrottleSettings: typeof ThrottleSettings;
    constructor(properties: UsagePlanProperties);
}
