import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Limit Definitions in Oracle Cloud Infrastructure Limits service.
 *
 * Includes a list of resource limits that are currently supported.
 * If the subscription ID is provided, then only resource limits supported by the subscription will be returned.
 * If the `areQuotasSupported` property is true, you can create quota policies on top of this limit at the compartment level.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testLimitDefinitions = oci.limits.getLimitDefinitions({
 *     compartmentId: tenancyOcid,
 *     name: limitDefinitionName,
 *     serviceName: testService.name,
 *     subscriptionId: subscriptionOcid,
 * });
 * ```
 */
export declare function getLimitDefinitions(args: GetLimitDefinitionsArgs, opts?: pulumi.InvokeOptions): Promise<GetLimitDefinitionsResult>;
/**
 * A collection of arguments for invoking getLimitDefinitions.
 */
export interface GetLimitDefinitionsArgs {
    /**
     * The OCID of the parent compartment (remember that the tenancy is simply the root compartment).
     */
    compartmentId: string;
    filters?: inputs.Limits.GetLimitDefinitionsFilter[];
    /**
     * Optional field, filter for a specific resource limit.
     */
    name?: string;
    /**
     * The target service name.
     */
    serviceName?: string;
    /**
     * The subscription OCID assigned to the tenant.
     */
    subscriptionId?: string;
}
/**
 * A collection of values returned by getLimitDefinitions.
 */
export interface GetLimitDefinitionsResult {
    readonly compartmentId: string;
    readonly filters?: outputs.Limits.GetLimitDefinitionsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The list of limit_definitions.
     */
    readonly limitDefinitions: outputs.Limits.GetLimitDefinitionsLimitDefinition[];
    /**
     * The resource limit name. To be used for writing policies (in case of quotas) or other programmatic calls.
     */
    readonly name?: string;
    /**
     * The service name of the limit.
     */
    readonly serviceName?: string;
    readonly subscriptionId?: string;
}
/**
 * This data source provides the list of Limit Definitions in Oracle Cloud Infrastructure Limits service.
 *
 * Includes a list of resource limits that are currently supported.
 * If the subscription ID is provided, then only resource limits supported by the subscription will be returned.
 * If the `areQuotasSupported` property is true, you can create quota policies on top of this limit at the compartment level.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testLimitDefinitions = oci.limits.getLimitDefinitions({
 *     compartmentId: tenancyOcid,
 *     name: limitDefinitionName,
 *     serviceName: testService.name,
 *     subscriptionId: subscriptionOcid,
 * });
 * ```
 */
export declare function getLimitDefinitionsOutput(args: GetLimitDefinitionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLimitDefinitionsResult>;
/**
 * A collection of arguments for invoking getLimitDefinitions.
 */
export interface GetLimitDefinitionsOutputArgs {
    /**
     * The OCID of the parent compartment (remember that the tenancy is simply the root compartment).
     */
    compartmentId: pulumi.Input<string>;
    filters?: pulumi.Input<pulumi.Input<inputs.Limits.GetLimitDefinitionsFilterArgs>[] | undefined>;
    /**
     * Optional field, filter for a specific resource limit.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The target service name.
     */
    serviceName?: pulumi.Input<string | undefined>;
    /**
     * The subscription OCID assigned to the tenant.
     */
    subscriptionId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getLimitDefinitions.d.ts.map