import * as pulumi from "@pulumi/pulumi";
/**
 * Use this resource to bind the APIs to the throttling policy within HuaweiCloud.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as pulumi from "@huaweicloudos/pulumi";
 *
 * const config = new pulumi.Config();
 * const instanceId = config.requireObject("instanceId");
 * const policyId = config.requireObject("policyId");
 * const apiPublishIds = config.requireObject("apiPublishIds");
 * const test = new huaweicloud.dedicatedapig.ThrottlingPolicyAssociate("test", {
 *     instanceId: instanceId,
 *     policyId: policyId,
 *     publishIds: apiPublishIds,
 * });
 * ```
 *
 * ## Import
 *
 * Associate resources can be imported using their `policy_id` and the APIG dedicated instance ID to which the policy belongs, separated by a slash, e.g.
 *
 * ```sh
 *  $ pulumi import huaweicloud:DedicatedApig/throttlingPolicyAssociate:ThrottlingPolicyAssociate test <instance_id>/<policy_id>
 * ```
 */
export declare class ThrottlingPolicyAssociate extends pulumi.CustomResource {
    /**
     * Get an existing ThrottlingPolicyAssociate resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ThrottlingPolicyAssociateState, opts?: pulumi.CustomResourceOptions): ThrottlingPolicyAssociate;
    /**
     * Returns true if the given object is an instance of ThrottlingPolicyAssociate.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is ThrottlingPolicyAssociate;
    /**
     * Specifies the ID of the dedicated instance to which the APIs and the
     * throttling policy belongs.
     * Changing this will create a new resource.
     */
    readonly instanceId: pulumi.Output<string>;
    /**
     * Specifies the ID of the throttling policy.
     * Changing this will create a new resource.
     */
    readonly policyId: pulumi.Output<string>;
    /**
     * Specifies the publish IDs corresponding to the APIs bound by the throttling policy.
     */
    readonly publishIds: pulumi.Output<string[]>;
    /**
     * Specifies the region where the dedicated instance and the throttling policy
     * are located.
     * If omitted, the provider-level region will be used. Changing this will create a new resource.
     */
    readonly region: pulumi.Output<string>;
    /**
     * Create a ThrottlingPolicyAssociate resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: ThrottlingPolicyAssociateArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ThrottlingPolicyAssociate resources.
 */
export interface ThrottlingPolicyAssociateState {
    /**
     * Specifies the ID of the dedicated instance to which the APIs and the
     * throttling policy belongs.
     * Changing this will create a new resource.
     */
    instanceId?: pulumi.Input<string>;
    /**
     * Specifies the ID of the throttling policy.
     * Changing this will create a new resource.
     */
    policyId?: pulumi.Input<string>;
    /**
     * Specifies the publish IDs corresponding to the APIs bound by the throttling policy.
     */
    publishIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the region where the dedicated instance and the throttling policy
     * are located.
     * If omitted, the provider-level region will be used. Changing this will create a new resource.
     */
    region?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a ThrottlingPolicyAssociate resource.
 */
export interface ThrottlingPolicyAssociateArgs {
    /**
     * Specifies the ID of the dedicated instance to which the APIs and the
     * throttling policy belongs.
     * Changing this will create a new resource.
     */
    instanceId: pulumi.Input<string>;
    /**
     * Specifies the ID of the throttling policy.
     * Changing this will create a new resource.
     */
    policyId: pulumi.Input<string>;
    /**
     * Specifies the publish IDs corresponding to the APIs bound by the throttling policy.
     */
    publishIds: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the region where the dedicated instance and the throttling policy
     * are located.
     * If omitted, the provider-level region will be used. Changing this will create a new resource.
     */
    region?: pulumi.Input<string>;
}
