import _m0 from 'protobufjs/minimal'; import { Condition } from '../../../../../yandex/cloud/smartwebsecurity/v1/security_profile'; export declare const protobufPackage = "yandex.cloud.smartwebsecurity.v1.waf"; export interface WafProfile { /** ID of the WAF profile. */ id: string; /** ID of the folder that the WAF profile belongs to. */ folderId: string; /** ID of the cloud that the WAF profile belongs to. */ cloudId: string; /** Name of the WAF profile. The name is unique within the folder. 1-50 characters long. */ name: string; /** Optional description of the WAF profile. */ description: string; /** Labels as `` key:value `` pairs. Maximum of 64 per resource. */ labels: { [key: string]: string; }; /** Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ createdAt?: Date; /** Settings for each rule in rule set. */ rules: WafProfileRule[]; /** List of exclusion rules. See [Rules](/docs/smartwebsecurity/concepts/waf#exclusion-rules). */ exclusionRules: WafProfileExclusionRule[]; /** Core rule set settings. See [Basic rule set](/docs/smartwebsecurity/concepts/waf#rules-set) for details. */ coreRuleSet?: WafProfile_CoreRuleSet | undefined; /** * The parameter is deprecated. Parameters for request body analyzer. * * @deprecated */ analyzeRequestBody?: WafProfile_AnalyzeRequestBody; } export interface WafProfile_LabelsEntry { key: string; value: string; } export interface WafProfile_CoreRuleSet { /** * Anomaly score. * Enter an integer within the range of 2 and 10000. * The higher this value, the more likely it is that the request that satisfies the rule is an attack. * See [Rules](/docs/smartwebsecurity/concepts/waf#anomaly) for more details. */ inboundAnomalyScore: number; /** * Paranoia level. * Enter an integer within the range of 1 and 4. * Paranoia level classifies rules according to their aggression. The higher the paranoia level, the better your protection, * but also the higher the probability of WAF false positives. * See [Rules](/docs/smartwebsecurity/concepts/waf#paranoia) for more details. * NOTE: this option has no effect on enabling or disabling rules. * it is used only as recommendation for user to enable all rules with paranoia_level <= this value. */ paranoiaLevel: number; /** Rule set. */ ruleSet?: RuleSet; } export interface WafProfile_AnalyzeRequestBody { /** Possible to turn analyzer on and turn if off. */ isEnabled: boolean; /** Maximum size of body to pass to analyzer. In kilobytes. */ sizeLimit: number; /** Action to perform if maximum size of body exceeded. */ sizeLimitAction: WafProfile_AnalyzeRequestBody_Action; } /** Action to perform if maximum size of body exceeded. */ export declare enum WafProfile_AnalyzeRequestBody_Action { ACTION_UNSPECIFIED = 0, /** IGNORE - Ignore request. */ IGNORE = 1, /** DENY - Deny request. */ DENY = 2, UNRECOGNIZED = -1 } export declare function wafProfile_AnalyzeRequestBody_ActionFromJSON(object: any): WafProfile_AnalyzeRequestBody_Action; export declare function wafProfile_AnalyzeRequestBody_ActionToJSON(object: WafProfile_AnalyzeRequestBody_Action): string; /** WafProfileRule object. Determines settings for each rule_id in rule set. */ export interface WafProfileRule { /** Rule ID. */ ruleId: string; /** Determines is it rule enabled or not. */ isEnabled: boolean; /** Determines is it rule blocking or not. */ isBlocking: boolean; } /** A WafProfileExclusionRule object. See [Exclusion rules](/docs/smartwebsecurity/concepts/waf#exclusion-rules). */ export interface WafProfileExclusionRule { /** Name of exclusion rule. */ name: string; /** Optional description of the rule. 0-512 characters long. */ description: string; /** The condition for matching traffic. */ condition?: Condition; /** Exclude rules. */ excludeRules?: WafProfileExclusionRule_ExcludeRules; /** Records the fact that an exception rule is triggered. */ logExcluded: boolean; } /** Determines list of excluded rules. */ export interface WafProfileExclusionRule_ExcludeRules { /** Set this option true to exclude all rules. */ excludeAll: boolean; /** List of rules to exclude. */ ruleIds: string[]; } /** A RuleSet object. Determines name and version of rule set. */ export interface RuleSet { /** Name of rule set. */ name: string; /** Version of rule set. */ version: string; } export declare const WafProfile: { encode(message: WafProfile, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): WafProfile; fromJSON(object: any): WafProfile; toJSON(message: WafProfile): unknown; fromPartial, never>) | undefined; createdAt?: Date | undefined; rules?: ({ ruleId?: string | undefined; isEnabled?: boolean | undefined; isBlocking?: boolean | undefined; }[] & ({ ruleId?: string | undefined; isEnabled?: boolean | undefined; isBlocking?: boolean | undefined; } & { ruleId?: string | undefined; isEnabled?: boolean | undefined; isBlocking?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; exclusionRules?: ({ name?: string | undefined; description?: string | undefined; condition?: { authority?: { authorities?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } | undefined; httpMethod?: { httpMethods?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } | undefined; requestUri?: { path?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; queries?: { key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; } | undefined; headers?: { name?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; sourceIp?: { ipRangesMatch?: { ipRanges?: string[] | undefined; } | undefined; ipRangesNotMatch?: { ipRanges?: string[] | undefined; } | undefined; geoIpMatch?: { locations?: string[] | undefined; } | undefined; geoIpNotMatch?: { locations?: string[] | undefined; } | undefined; } | undefined; } | undefined; excludeRules?: { excludeAll?: boolean | undefined; ruleIds?: string[] | undefined; } | undefined; logExcluded?: boolean | undefined; }[] & ({ name?: string | undefined; description?: string | undefined; condition?: { authority?: { authorities?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } | undefined; httpMethod?: { httpMethods?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } | undefined; requestUri?: { path?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; queries?: { key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; } | undefined; headers?: { name?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; sourceIp?: { ipRangesMatch?: { ipRanges?: string[] | undefined; } | undefined; ipRangesNotMatch?: { ipRanges?: string[] | undefined; } | undefined; geoIpMatch?: { locations?: string[] | undefined; } | undefined; geoIpNotMatch?: { locations?: string[] | undefined; } | undefined; } | undefined; } | undefined; excludeRules?: { excludeAll?: boolean | undefined; ruleIds?: string[] | undefined; } | undefined; logExcluded?: boolean | undefined; } & { name?: string | undefined; description?: string | undefined; condition?: ({ authority?: { authorities?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } | undefined; httpMethod?: { httpMethods?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } | undefined; requestUri?: { path?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; queries?: { key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; } | undefined; headers?: { name?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; sourceIp?: { ipRangesMatch?: { ipRanges?: string[] | undefined; } | undefined; ipRangesNotMatch?: { ipRanges?: string[] | undefined; } | undefined; geoIpMatch?: { locations?: string[] | undefined; } | undefined; geoIpNotMatch?: { locations?: string[] | undefined; } | undefined; } | undefined; } & { authority?: ({ authorities?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } & { authorities?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] & ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; httpMethod?: ({ httpMethods?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } & { httpMethods?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] & ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; requestUri?: ({ path?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; queries?: { key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; } & { path?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>) | undefined; queries?: ({ key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] & ({ key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; } & { key?: string | undefined; value?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; headers?: ({ name?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] & ({ name?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; } & { name?: string | undefined; value?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; sourceIp?: ({ ipRangesMatch?: { ipRanges?: string[] | undefined; } | undefined; ipRangesNotMatch?: { ipRanges?: string[] | undefined; } | undefined; geoIpMatch?: { locations?: string[] | undefined; } | undefined; geoIpNotMatch?: { locations?: string[] | undefined; } | undefined; } & { ipRangesMatch?: ({ ipRanges?: string[] | undefined; } & { ipRanges?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; ipRangesNotMatch?: ({ ipRanges?: string[] | undefined; } & { ipRanges?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; geoIpMatch?: ({ locations?: string[] | undefined; } & { locations?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; geoIpNotMatch?: ({ locations?: string[] | undefined; } & { locations?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; excludeRules?: ({ excludeAll?: boolean | undefined; ruleIds?: string[] | undefined; } & { excludeAll?: boolean | undefined; ruleIds?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; logExcluded?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; coreRuleSet?: ({ inboundAnomalyScore?: number | undefined; paranoiaLevel?: number | undefined; ruleSet?: { name?: string | undefined; version?: string | undefined; } | undefined; } & { inboundAnomalyScore?: number | undefined; paranoiaLevel?: number | undefined; ruleSet?: ({ name?: string | undefined; version?: string | undefined; } & { name?: string | undefined; version?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; analyzeRequestBody?: ({ isEnabled?: boolean | undefined; sizeLimit?: number | undefined; sizeLimitAction?: WafProfile_AnalyzeRequestBody_Action | undefined; } & { isEnabled?: boolean | undefined; sizeLimit?: number | undefined; sizeLimitAction?: WafProfile_AnalyzeRequestBody_Action | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): WafProfile; }; export declare const WafProfile_LabelsEntry: { encode(message: WafProfile_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): WafProfile_LabelsEntry; fromJSON(object: any): WafProfile_LabelsEntry; toJSON(message: WafProfile_LabelsEntry): unknown; fromPartial, never>>(object: I): WafProfile_LabelsEntry; }; export declare const WafProfile_CoreRuleSet: { encode(message: WafProfile_CoreRuleSet, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): WafProfile_CoreRuleSet; fromJSON(object: any): WafProfile_CoreRuleSet; toJSON(message: WafProfile_CoreRuleSet): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): WafProfile_CoreRuleSet; }; export declare const WafProfile_AnalyzeRequestBody: { encode(message: WafProfile_AnalyzeRequestBody, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): WafProfile_AnalyzeRequestBody; fromJSON(object: any): WafProfile_AnalyzeRequestBody; toJSON(message: WafProfile_AnalyzeRequestBody): unknown; fromPartial, never>>(object: I): WafProfile_AnalyzeRequestBody; }; export declare const WafProfileRule: { encode(message: WafProfileRule, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): WafProfileRule; fromJSON(object: any): WafProfileRule; toJSON(message: WafProfileRule): unknown; fromPartial, never>>(object: I): WafProfileRule; }; export declare const WafProfileExclusionRule: { encode(message: WafProfileExclusionRule, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): WafProfileExclusionRule; fromJSON(object: any): WafProfileExclusionRule; toJSON(message: WafProfileExclusionRule): unknown; fromPartial, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; httpMethod?: ({ httpMethods?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] | undefined; } & { httpMethods?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; }[] & ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; requestUri?: ({ path?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; queries?: { key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] | undefined; } & { path?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>) | undefined; queries?: ({ key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] & ({ key?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; } & { key?: string | undefined; value?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; headers?: ({ name?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; }[] & ({ name?: string | undefined; value?: { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } | undefined; } & { name?: string | undefined; value?: ({ exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & { exactMatch?: string | undefined; exactNotMatch?: string | undefined; prefixMatch?: string | undefined; prefixNotMatch?: string | undefined; pireRegexMatch?: string | undefined; pireRegexNotMatch?: string | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; sourceIp?: ({ ipRangesMatch?: { ipRanges?: string[] | undefined; } | undefined; ipRangesNotMatch?: { ipRanges?: string[] | undefined; } | undefined; geoIpMatch?: { locations?: string[] | undefined; } | undefined; geoIpNotMatch?: { locations?: string[] | undefined; } | undefined; } & { ipRangesMatch?: ({ ipRanges?: string[] | undefined; } & { ipRanges?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; ipRangesNotMatch?: ({ ipRanges?: string[] | undefined; } & { ipRanges?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; geoIpMatch?: ({ locations?: string[] | undefined; } & { locations?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; geoIpNotMatch?: ({ locations?: string[] | undefined; } & { locations?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; excludeRules?: ({ excludeAll?: boolean | undefined; ruleIds?: string[] | undefined; } & { excludeAll?: boolean | undefined; ruleIds?: (string[] & string[] & Record, never>) | undefined; } & Record, never>) | undefined; logExcluded?: boolean | undefined; } & Record, never>>(object: I): WafProfileExclusionRule; }; export declare const WafProfileExclusionRule_ExcludeRules: { encode(message: WafProfileExclusionRule_ExcludeRules, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): WafProfileExclusionRule_ExcludeRules; fromJSON(object: any): WafProfileExclusionRule_ExcludeRules; toJSON(message: WafProfileExclusionRule_ExcludeRules): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): WafProfileExclusionRule_ExcludeRules; }; export declare const RuleSet: { encode(message: RuleSet, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RuleSet; fromJSON(object: any): RuleSet; toJSON(message: RuleSet): unknown; fromPartial, never>>(object: I): RuleSet; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};