import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * LocalRulestack rule list
 *
 * Uses Azure REST API version 2025-05-23. In version 2.x of the Azure Native provider, it used API version 2023-09-01.
 *
 * Other available API versions: 2023-09-01, 2023-10-10-preview, 2024-01-19-preview, 2024-02-07-preview, 2025-02-06-preview, 2025-07-07-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native cloudngfw [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class LocalRule extends pulumi.CustomResource {
    /**
     * Get an existing LocalRule 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): LocalRule;
    /**
     * Returns true if the given object is an instance of LocalRule.  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 LocalRule;
    /**
     * rule action
     */
    readonly actionType: pulumi.Output<string | undefined>;
    /**
     * array of rule applications
     */
    readonly applications: pulumi.Output<string[] | undefined>;
    /**
     * rule comment
     */
    readonly auditComment: pulumi.Output<string | undefined>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * rule category
     */
    readonly category: pulumi.Output<outputs.cloudngfw.CategoryResponse | undefined>;
    /**
     * enable or disable decryption
     */
    readonly decryptionRuleType: pulumi.Output<string | undefined>;
    /**
     * rule description
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * destination address
     */
    readonly destination: pulumi.Output<outputs.cloudngfw.DestinationAddrResponse | undefined>;
    /**
     * enable or disable logging
     */
    readonly enableLogging: pulumi.Output<string | undefined>;
    /**
     * etag info
     */
    readonly etag: pulumi.Output<string | undefined>;
    /**
     * inbound Inspection Certificate
     */
    readonly inboundInspectionCertificate: pulumi.Output<string | undefined>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * cidr should not be 'any'
     */
    readonly negateDestination: pulumi.Output<string | undefined>;
    /**
     * cidr should not be 'any'
     */
    readonly negateSource: pulumi.Output<string | undefined>;
    readonly priority: pulumi.Output<number>;
    /**
     * any, application-default, TCP:number, UDP:number
     */
    readonly protocol: pulumi.Output<string | undefined>;
    /**
     * prot port list
     */
    readonly protocolPortList: pulumi.Output<string[] | undefined>;
    /**
     * Provisioning state of the resource.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * rule name
     */
    readonly ruleName: pulumi.Output<string>;
    /**
     * state of this rule
     */
    readonly ruleState: pulumi.Output<string | undefined>;
    /**
     * source address
     */
    readonly source: pulumi.Output<outputs.cloudngfw.SourceAddrResponse | undefined>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.cloudngfw.SystemDataResponse>;
    /**
     * tag for rule
     */
    readonly tags: pulumi.Output<outputs.cloudngfw.TagInfoResponse[] | undefined>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * Create a LocalRule 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: LocalRuleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a LocalRule resource.
 */
export interface LocalRuleArgs {
    /**
     * rule action
     */
    actionType?: pulumi.Input<string | enums.cloudngfw.ActionEnum>;
    /**
     * array of rule applications
     */
    applications?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * rule comment
     */
    auditComment?: pulumi.Input<string>;
    /**
     * rule category
     */
    category?: pulumi.Input<inputs.cloudngfw.CategoryArgs>;
    /**
     * enable or disable decryption
     */
    decryptionRuleType?: pulumi.Input<string | enums.cloudngfw.DecryptionRuleTypeEnum>;
    /**
     * rule description
     */
    description?: pulumi.Input<string>;
    /**
     * destination address
     */
    destination?: pulumi.Input<inputs.cloudngfw.DestinationAddrArgs>;
    /**
     * enable or disable logging
     */
    enableLogging?: pulumi.Input<string | enums.cloudngfw.StateEnum>;
    /**
     * inbound Inspection Certificate
     */
    inboundInspectionCertificate?: pulumi.Input<string>;
    /**
     * LocalRulestack resource name
     */
    localRulestackName: pulumi.Input<string>;
    /**
     * cidr should not be 'any'
     */
    negateDestination?: pulumi.Input<string | enums.cloudngfw.BooleanEnum>;
    /**
     * cidr should not be 'any'
     */
    negateSource?: pulumi.Input<string | enums.cloudngfw.BooleanEnum>;
    /**
     * Local Rule priority
     */
    priority?: pulumi.Input<string>;
    /**
     * any, application-default, TCP:number, UDP:number
     */
    protocol?: pulumi.Input<string>;
    /**
     * prot port list
     */
    protocolPortList?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * rule name
     */
    ruleName: pulumi.Input<string>;
    /**
     * state of this rule
     */
    ruleState?: pulumi.Input<string | enums.cloudngfw.StateEnum>;
    /**
     * source address
     */
    source?: pulumi.Input<inputs.cloudngfw.SourceAddrArgs>;
    /**
     * tag for rule
     */
    tags?: pulumi.Input<pulumi.Input<inputs.cloudngfw.TagInfoArgs>[]>;
}
