import * as z from "zod/v3";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
export type GenerateFirewallRuleRequest = {
    projectId?: string | undefined;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
};
export type GenerateFirewallRuleValue = string | number | Array<string>;
export type GenerateFirewallRuleConditions = {
    type: string;
    op: string;
    neg?: boolean | undefined;
    key?: string | undefined;
    value?: string | number | Array<string> | undefined;
};
export type GenerateFirewallRuleConditionGroup = {
    conditions: Array<GenerateFirewallRuleConditions>;
};
export type GenerateFirewallRuleRateLimit = {
    algo: string;
    window: number;
    limit: number;
    keys: Array<string>;
    action?: string | null | undefined;
};
export type GenerateFirewallRuleRedirect = {
    location: string;
    permanent: boolean;
};
export type GenerateFirewallRuleMitigate = {
    action: string;
    rateLimit?: GenerateFirewallRuleRateLimit | null | undefined;
    redirect?: GenerateFirewallRuleRedirect | null | undefined;
    actionDuration?: string | null | undefined;
};
export type GenerateFirewallRuleAction = {
    mitigate?: GenerateFirewallRuleMitigate | undefined;
};
export type GenerateFirewallRuleRule = {
    name: string;
    description?: string | undefined;
    active: boolean;
    conditionGroup: Array<GenerateFirewallRuleConditionGroup>;
    action: GenerateFirewallRuleAction;
};
export type GenerateFirewallRuleResponseBody = {
    rule?: GenerateFirewallRuleRule | undefined;
    error?: string | undefined;
};
/** @internal */
export type GenerateFirewallRuleRequest$Outbound = {
    projectId?: string | undefined;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const GenerateFirewallRuleRequest$outboundSchema: z.ZodType<GenerateFirewallRuleRequest$Outbound, z.ZodTypeDef, GenerateFirewallRuleRequest>;
export declare function generateFirewallRuleRequestToJSON(generateFirewallRuleRequest: GenerateFirewallRuleRequest): string;
/** @internal */
export declare const GenerateFirewallRuleValue$inboundSchema: z.ZodType<GenerateFirewallRuleValue, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleValueFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleValue, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleConditions$inboundSchema: z.ZodType<GenerateFirewallRuleConditions, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleConditionsFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleConditions, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleConditionGroup$inboundSchema: z.ZodType<GenerateFirewallRuleConditionGroup, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleConditionGroupFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleConditionGroup, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleRateLimit$inboundSchema: z.ZodType<GenerateFirewallRuleRateLimit, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleRateLimitFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleRateLimit, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleRedirect$inboundSchema: z.ZodType<GenerateFirewallRuleRedirect, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleRedirectFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleRedirect, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleMitigate$inboundSchema: z.ZodType<GenerateFirewallRuleMitigate, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleMitigateFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleMitigate, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleAction$inboundSchema: z.ZodType<GenerateFirewallRuleAction, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleActionFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleAction, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleRule$inboundSchema: z.ZodType<GenerateFirewallRuleRule, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleRuleFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleRule, SDKValidationError>;
/** @internal */
export declare const GenerateFirewallRuleResponseBody$inboundSchema: z.ZodType<GenerateFirewallRuleResponseBody, z.ZodTypeDef, unknown>;
export declare function generateFirewallRuleResponseBodyFromJSON(jsonString: string): SafeParseResult<GenerateFirewallRuleResponseBody, SDKValidationError>;
//# sourceMappingURL=generatefirewallruleop.d.ts.map