import { AccountEntrypointType, EntrypointOverrideActionParameters, RulesetPhaseType } from './phases/utils'; import { ElementType } from './account'; import { CustomActionParameters, CustomRuleset } from './phases/http_request_firewall_custom'; import { RateLimitRuleset } from './phases/http_ratelimit'; import { AccountRedirectRuleset, RedirectActionParameters } from './phases/http_request_redirect'; import { ActionParameterSkip, ManagedRule, ManagedRuleset } from './phases/http_request_firewall_managed'; import { MagicTransitRuleset } from './phases/magic_transit'; import { AccountMagicIdsRuleset } from './phases/magic_transit_ids_managed'; import { DDoSl4Ruleset } from './phases/ddos_l4'; import { MagicManagedRuleset } from './phases/magic_transit_managed'; import { Actions, RulesetPhase } from './phases/fields'; import { MagicTransitRateLimitRuleset } from './phases/magic_transit_ratelimit'; export type GenericRuleset = RulesetPhaseType | CustomRuleset | RateLimitRuleset | ManagedRuleset | AccountMagicIdsRuleset | MagicTransitRuleset | MagicTransitRateLimitRuleset | MagicManagedRuleset | DDoSl4Ruleset | AccountRedirectRuleset; export type AccountRulesetByPhase = RulesetPhaseType; export type AccountRulesetsByPhase = { [RulesetPhase.HttpRequestFirewallCustom]: AccountRulesetByPhase; [RulesetPhase.HttpRateLimit]: AccountRulesetByPhase; [RulesetPhase.HttpRequestFirewallManaged]: AccountRulesetByPhase; [RulesetPhase.HttpRequestRedirect]: AccountRulesetByPhase; [RulesetPhase.MagicManaged]: AccountRulesetByPhase; [RulesetPhase.MagicTransit]: AccountRulesetByPhase; [RulesetPhase.MagicTransitRateLimit]: AccountRulesetByPhase; [RulesetPhase.MagicIDS]: AccountRulesetByPhase; }; export type RulesetPhaseKeyType = keyof AccountRulesetsEntrypointByPhase; export type RuleByPhase = ElementType; export type AccountRulesetsEntrypointByPhase = { [RulesetPhase.HttpRequestFirewallCustom]: AccountEntrypointType; [RulesetPhase.HttpRateLimit]: AccountEntrypointType; [RulesetPhase.HttpRequestFirewallManaged]: AccountEntrypointType; [RulesetPhase.HttpRequestRedirect]: AccountEntrypointType; [RulesetPhase.MagicManaged]: AccountEntrypointType; [RulesetPhase.MagicTransit]: AccountEntrypointType; [RulesetPhase.MagicTransitRateLimit]: AccountEntrypointType; [RulesetPhase.MagicIDS]: AccountEntrypointType; }; export type GenericRule = ElementType & { enabled: boolean; label?: string; }; export type WafRulesets = CustomRuleset | RateLimitRuleset | ManagedRuleset; export type WafRule = ElementType;