import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get a list of VPC resource quotas.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const test = pulumi.output(huaweicloud.Vpc.getQuotas());
 * ```
 */
export declare function getQuotas(args?: GetQuotasArgs, opts?: pulumi.InvokeOptions): Promise<GetQuotasResult>;
/**
 * A collection of arguments for invoking getQuotas.
 */
export interface GetQuotasArgs {
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the type of resource to filter quotas.
     * The value can be **vpc**, **subnet**, **securityGroup**, **securityGroupRule**, **publicIp**,
     * **vpn**, **vpngw**, **vpcPeer**, **firewall**, **shareBandwidth**, **shareBandwidthIP**,
     * **loadbalancer**, **listener**, **physicalConnect**, **virtualInterface**,
     * **vpcContainRoutetable**, and **routetableContainRoutes**.
     */
    type?: string;
}
/**
 * A collection of values returned by getQuotas.
 */
export interface GetQuotasResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The quota objects.
     */
    readonly quotas: outputs.Vpc.GetQuotasQuota[];
    readonly region: string;
    /**
     * The type of resource to filter quotas.
     */
    readonly type?: string;
}
export declare function getQuotasOutput(args?: GetQuotasOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetQuotasResult>;
/**
 * A collection of arguments for invoking getQuotas.
 */
export interface GetQuotasOutputArgs {
    /**
     * Specifies the region in which to query the resource.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the type of resource to filter quotas.
     * The value can be **vpc**, **subnet**, **securityGroup**, **securityGroupRule**, **publicIp**,
     * **vpn**, **vpngw**, **vpcPeer**, **firewall**, **shareBandwidth**, **shareBandwidthIP**,
     * **loadbalancer**, **listener**, **physicalConnect**, **virtualInterface**,
     * **vpcContainRoutetable**, and **routetableContainRoutes**.
     */
    type?: pulumi.Input<string>;
}
