import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
export declare class PullzoneRatelimitRule extends pulumi.CustomResource {
    /**
     * Get an existing PullzoneRatelimitRule 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?: PullzoneRatelimitRuleState, opts?: pulumi.CustomResourceOptions): PullzoneRatelimitRule;
    /**
     * Returns true if the given object is an instance of PullzoneRatelimitRule.  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 PullzoneRatelimitRule;
    /**
     * The condition to trigger the rate limit rule.
     */
    readonly conditions: pulumi.Output<outputs.PullzoneRatelimitRuleCondition[] | undefined>;
    /**
     * The rate limit rule description.
     */
    readonly description: pulumi.Output<string | undefined>;
    readonly limit: pulumi.Output<outputs.PullzoneRatelimitRuleLimit | undefined>;
    /**
     * The rate limit rule name.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The ID of the linked pullzone.
     */
    readonly pullzone: pulumi.Output<number>;
    /**
     * The ID of the rate limit rule.
     */
    readonly pullzoneRatelimitRuleId: pulumi.Output<number>;
    /**
     * The response once the rate limit rule is triggered.
     */
    readonly response: pulumi.Output<outputs.PullzoneRatelimitRuleResponse | undefined>;
    /**
     * Options: `CMDLINE`, `COMPRESSWHITESPACE`, `CSSDECODE`, `HEXENCODE`, `HTMLENTITYDECODE`, `JSDECODE`, `LENGTH`, `LOWERCASE`, `MD5`, `NORMALISEPATH`, `NORMALISEPATHWIN`, `NORMALIZEPATH`, `NORMALIZEPATHWIN`, `REMOVECOMMENTS`, `REMOVENULLS`, `REMOVEWHITESPACE`, `REPLACECOMMENTS`, `SHA1`, `URLDECODE`, `URLDECODEUNI`, `UTF8TOUNICODE`
     */
    readonly transformations: pulumi.Output<string[] | undefined>;
    /**
     * Create a PullzoneRatelimitRule 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: PullzoneRatelimitRuleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering PullzoneRatelimitRule resources.
 */
export interface PullzoneRatelimitRuleState {
    /**
     * The condition to trigger the rate limit rule.
     */
    conditions?: pulumi.Input<pulumi.Input<inputs.PullzoneRatelimitRuleCondition>[] | undefined>;
    /**
     * The rate limit rule description.
     */
    description?: pulumi.Input<string | undefined>;
    limit?: pulumi.Input<inputs.PullzoneRatelimitRuleLimit | undefined>;
    /**
     * The rate limit rule name.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The ID of the linked pullzone.
     */
    pullzone?: pulumi.Input<number | undefined>;
    /**
     * The ID of the rate limit rule.
     */
    pullzoneRatelimitRuleId?: pulumi.Input<number | undefined>;
    /**
     * The response once the rate limit rule is triggered.
     */
    response?: pulumi.Input<inputs.PullzoneRatelimitRuleResponse | undefined>;
    /**
     * Options: `CMDLINE`, `COMPRESSWHITESPACE`, `CSSDECODE`, `HEXENCODE`, `HTMLENTITYDECODE`, `JSDECODE`, `LENGTH`, `LOWERCASE`, `MD5`, `NORMALISEPATH`, `NORMALISEPATHWIN`, `NORMALIZEPATH`, `NORMALIZEPATHWIN`, `REMOVECOMMENTS`, `REMOVENULLS`, `REMOVEWHITESPACE`, `REPLACECOMMENTS`, `SHA1`, `URLDECODE`, `URLDECODEUNI`, `UTF8TOUNICODE`
     */
    transformations?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
/**
 * The set of arguments for constructing a PullzoneRatelimitRule resource.
 */
export interface PullzoneRatelimitRuleArgs {
    /**
     * The condition to trigger the rate limit rule.
     */
    conditions?: pulumi.Input<pulumi.Input<inputs.PullzoneRatelimitRuleCondition>[] | undefined>;
    /**
     * The rate limit rule description.
     */
    description?: pulumi.Input<string | undefined>;
    limit?: pulumi.Input<inputs.PullzoneRatelimitRuleLimit | undefined>;
    /**
     * The rate limit rule name.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The ID of the linked pullzone.
     */
    pullzone: pulumi.Input<number>;
    /**
     * The response once the rate limit rule is triggered.
     */
    response?: pulumi.Input<inputs.PullzoneRatelimitRuleResponse | undefined>;
    /**
     * Options: `CMDLINE`, `COMPRESSWHITESPACE`, `CSSDECODE`, `HEXENCODE`, `HTMLENTITYDECODE`, `JSDECODE`, `LENGTH`, `LOWERCASE`, `MD5`, `NORMALISEPATH`, `NORMALISEPATHWIN`, `NORMALIZEPATH`, `NORMALIZEPATHWIN`, `REMOVECOMMENTS`, `REMOVENULLS`, `REMOVEWHITESPACE`, `REPLACECOMMENTS`, `SHA1`, `URLDECODE`, `URLDECODEUNI`, `UTF8TOUNICODE`
     */
    transformations?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=pullzoneRatelimitRule.d.ts.map