/**
 * Zod schemas for decision strategy validation.
 *
 * Condition and strategy schemas are canonical in @syntrologie/sdk-contracts.
 * This module re-exports them and adds runtime-specific schemas
 * (ActivationConfig, RouteFilter) plus the decisionSchemas array for
 * unified JSON Schema generation.
 */
import { z } from 'zod';
export { AnchorVisibleConditionZ, type ConditionSchema, ConditionZ, CooldownActiveConditionZ, CounterDefZ, type DecisionStrategySchema, DecisionStrategyZ, DismissedConditionZ, EventCountConditionZ, EventOccurredConditionZ, ExternalStrategyZ, FrequencyLimitConditionZ, MatchOpZ, ModelStrategyZ, PageUrlConditionZ, RouteConditionZ, type RuleSchema, RuleStrategyZ, RuleZ, ScoreStrategyZ, SessionMetricConditionZ, StateEqualsConditionZ, TriggerWhenZ, ViewportConditionZ, } from '@syntrologie/sdk-contracts';
export declare const RouteFilterZ: z.ZodObject<{
    include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    include?: string[] | undefined;
    exclude?: string[] | undefined;
}, {
    include?: string[] | undefined;
    exclude?: string[] | undefined;
}>;
export declare const ActivationConfigZ: z.ZodObject<{
    routes: z.ZodObject<{
        include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    }, {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    }>;
    onlyIfPopulated: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    routes: {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    };
    onlyIfPopulated?: boolean | undefined;
}, {
    routes: {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    };
    onlyIfPopulated?: boolean | undefined;
}>;
/**
 * Validate a Condition object.
 */
export declare function validateCondition(data: unknown): z.SafeParseReturnType<{
    type: "page_url";
    url: string;
} | {
    type: "route";
    routeId: string;
} | {
    type: "anchor_visible";
    anchorId: string;
    state: "visible" | "present" | "absent";
} | {
    type: "event_occurred";
    eventName: string;
    withinMs?: number | undefined;
} | {
    type: "state_equals";
    key: string;
    value?: unknown;
} | {
    type: "viewport";
    minWidth?: number | undefined;
    maxWidth?: number | undefined;
    minHeight?: number | undefined;
    maxHeight?: number | undefined;
} | {
    type: "session_metric";
    key: "time_on_page" | "page_views" | "scroll_depth";
    operator: "gte" | "lte" | "eq" | "gt" | "lt";
    threshold: number;
} | {
    type: "dismissed";
    key: string;
    inverted?: boolean | undefined;
} | {
    type: "cooldown_active";
    key: string;
    inverted?: boolean | undefined;
} | {
    type: "frequency_limit";
    key: string;
    limit: number;
    inverted?: boolean | undefined;
} | {
    type: "event_count";
    key: string;
    operator: "gte" | "lte" | "eq" | "gt" | "lt";
    count: number;
    withinMs?: number | undefined;
    counter?: {
        events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
        match?: Record<string, {
            equals?: string | number | boolean | undefined;
            contains?: string | undefined;
        }> | undefined;
    } | undefined;
}, {
    type: "page_url";
    url: string;
} | {
    type: "route";
    routeId: string;
} | {
    type: "anchor_visible";
    anchorId: string;
    state: "visible" | "present" | "absent";
} | {
    type: "event_occurred";
    eventName: string;
    withinMs?: number | undefined;
} | {
    type: "state_equals";
    key: string;
    value?: unknown;
} | {
    type: "viewport";
    minWidth?: number | undefined;
    maxWidth?: number | undefined;
    minHeight?: number | undefined;
    maxHeight?: number | undefined;
} | {
    type: "session_metric";
    key: "time_on_page" | "page_views" | "scroll_depth";
    operator: "gte" | "lte" | "eq" | "gt" | "lt";
    threshold: number;
} | {
    type: "dismissed";
    key: string;
    inverted?: boolean | undefined;
} | {
    type: "cooldown_active";
    key: string;
    inverted?: boolean | undefined;
} | {
    type: "frequency_limit";
    key: string;
    limit: number;
    inverted?: boolean | undefined;
} | {
    type: "event_count";
    key: string;
    operator: "gte" | "lte" | "eq" | "gt" | "lt";
    count: number;
    withinMs?: number | undefined;
    counter?: {
        events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
        match?: Record<string, {
            equals?: string | number | boolean | undefined;
            contains?: string | undefined;
        }> | undefined;
    } | undefined;
}>;
/**
 * Validate a DecisionStrategy object.
 */
export declare function validateStrategy(data: unknown): z.SafeParseReturnType<{
    type: "rules";
    rules: {
        conditions: ({
            type: "page_url";
            url: string;
        } | {
            type: "route";
            routeId: string;
        } | {
            type: "anchor_visible";
            anchorId: string;
            state: "visible" | "present" | "absent";
        } | {
            type: "event_occurred";
            eventName: string;
            withinMs?: number | undefined;
        } | {
            type: "state_equals";
            key: string;
            value?: unknown;
        } | {
            type: "viewport";
            minWidth?: number | undefined;
            maxWidth?: number | undefined;
            minHeight?: number | undefined;
            maxHeight?: number | undefined;
        } | {
            type: "session_metric";
            key: "time_on_page" | "page_views" | "scroll_depth";
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            threshold: number;
        } | {
            type: "dismissed";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "cooldown_active";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "frequency_limit";
            key: string;
            limit: number;
            inverted?: boolean | undefined;
        } | {
            type: "event_count";
            key: string;
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            count: number;
            withinMs?: number | undefined;
            counter?: {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            } | undefined;
        })[];
        value?: unknown;
    }[];
    default?: unknown;
} | {
    type: "score";
    threshold: number;
    field: string;
    above?: unknown;
    below?: unknown;
} | {
    type: "model";
    modelId: string;
    inputs: string[];
    outputMapping: Record<string, unknown>;
    default?: unknown;
} | {
    type: "external";
    endpoint: string;
    default?: unknown;
    method?: "GET" | "POST" | undefined;
    timeoutMs?: number | undefined;
}, {
    type: "rules";
    rules: {
        conditions: ({
            type: "page_url";
            url: string;
        } | {
            type: "route";
            routeId: string;
        } | {
            type: "anchor_visible";
            anchorId: string;
            state: "visible" | "present" | "absent";
        } | {
            type: "event_occurred";
            eventName: string;
            withinMs?: number | undefined;
        } | {
            type: "state_equals";
            key: string;
            value?: unknown;
        } | {
            type: "viewport";
            minWidth?: number | undefined;
            maxWidth?: number | undefined;
            minHeight?: number | undefined;
            maxHeight?: number | undefined;
        } | {
            type: "session_metric";
            key: "time_on_page" | "page_views" | "scroll_depth";
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            threshold: number;
        } | {
            type: "dismissed";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "cooldown_active";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "frequency_limit";
            key: string;
            limit: number;
            inverted?: boolean | undefined;
        } | {
            type: "event_count";
            key: string;
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            count: number;
            withinMs?: number | undefined;
            counter?: {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            } | undefined;
        })[];
        value?: unknown;
    }[];
    default?: unknown;
} | {
    type: "score";
    threshold: number;
    field: string;
    above?: unknown;
    below?: unknown;
} | {
    type: "model";
    modelId: string;
    inputs: string[];
    outputMapping: Record<string, unknown>;
    default?: unknown;
} | {
    type: "external";
    endpoint: string;
    default?: unknown;
    method?: "GET" | "POST" | undefined;
    timeoutMs?: number | undefined;
}>;
/**
 * Validate an ActivationConfig object.
 */
export declare function validateActivationConfig(data: unknown): z.SafeParseReturnType<{
    routes: {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    };
    onlyIfPopulated?: boolean | undefined;
}, {
    routes: {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    };
    onlyIfPopulated?: boolean | undefined;
}>;
/**
 * Decision schemas for unified JSON Schema generation.
 * The generator imports this array and converts each to a JSON Schema $def.
 *
 * Note: `decisionStrategy` is NOT included here — it's a oneOf wrapper that
 * the generator builds from $refs to the four strategy defs.
 */
export declare const decisionSchemas: ({
    defName: string;
    schema: z.ZodObject<{
        equals: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
        contains: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        equals?: string | number | boolean | undefined;
        contains?: string | undefined;
    }, {
        equals?: string | number | boolean | undefined;
        contains?: string | undefined;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        events: z.ZodArray<z.ZodEnum<["ui.click", "ui.scroll", "ui.input", "ui.change", "ui.submit", "ui.hover", "ui.idle", "ui.scroll_thrash", "ui.focus_bounce", "nav.page_view", "nav.page_leave", "behavior.rage_click", "behavior.hesitation", "behavior.confusion"]>, "many">;
        match: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            equals: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
            contains: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            equals?: string | number | boolean | undefined;
            contains?: string | undefined;
        }, {
            equals?: string | number | boolean | undefined;
            contains?: string | undefined;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
        match?: Record<string, {
            equals?: string | number | boolean | undefined;
            contains?: string | undefined;
        }> | undefined;
    }, {
        events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
        match?: Record<string, {
            equals?: string | number | boolean | undefined;
            contains?: string | undefined;
        }> | undefined;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        routes: z.ZodObject<{
            include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            include?: string[] | undefined;
            exclude?: string[] | undefined;
        }, {
            include?: string[] | undefined;
            exclude?: string[] | undefined;
        }>;
        onlyIfPopulated: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        routes: {
            include?: string[] | undefined;
            exclude?: string[] | undefined;
        };
        onlyIfPopulated?: boolean | undefined;
    }, {
        routes: {
            include?: string[] | undefined;
            exclude?: string[] | undefined;
        };
        onlyIfPopulated?: boolean | undefined;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    }, {
        include?: string[] | undefined;
        exclude?: string[] | undefined;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        type: z.ZodLiteral<"rules">;
        rules: z.ZodArray<z.ZodObject<{
            conditions: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
                type: z.ZodLiteral<"page_url">;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: "page_url";
                url: string;
            }, {
                type: "page_url";
                url: string;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"route">;
                routeId: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: "route";
                routeId: string;
            }, {
                type: "route";
                routeId: string;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"anchor_visible">;
                anchorId: z.ZodString;
                state: z.ZodEnum<["visible", "present", "absent"]>;
            }, "strip", z.ZodTypeAny, {
                type: "anchor_visible";
                anchorId: string;
                state: "visible" | "present" | "absent";
            }, {
                type: "anchor_visible";
                anchorId: string;
                state: "visible" | "present" | "absent";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"event_occurred">;
                eventName: z.ZodString;
                withinMs: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type: "event_occurred";
                eventName: string;
                withinMs?: number | undefined;
            }, {
                type: "event_occurred";
                eventName: string;
                withinMs?: number | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"state_equals">;
                key: z.ZodString;
                value: z.ZodUnknown;
            }, "strip", z.ZodTypeAny, {
                type: "state_equals";
                key: string;
                value?: unknown;
            }, {
                type: "state_equals";
                key: string;
                value?: unknown;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"viewport">;
                minWidth: z.ZodOptional<z.ZodNumber>;
                maxWidth: z.ZodOptional<z.ZodNumber>;
                minHeight: z.ZodOptional<z.ZodNumber>;
                maxHeight: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type: "viewport";
                minWidth?: number | undefined;
                maxWidth?: number | undefined;
                minHeight?: number | undefined;
                maxHeight?: number | undefined;
            }, {
                type: "viewport";
                minWidth?: number | undefined;
                maxWidth?: number | undefined;
                minHeight?: number | undefined;
                maxHeight?: number | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"session_metric">;
                key: z.ZodEnum<["time_on_page", "page_views", "scroll_depth"]>;
                operator: z.ZodEnum<["gte", "lte", "eq", "gt", "lt"]>;
                threshold: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "session_metric";
                key: "time_on_page" | "page_views" | "scroll_depth";
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                threshold: number;
            }, {
                type: "session_metric";
                key: "time_on_page" | "page_views" | "scroll_depth";
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                threshold: number;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"dismissed">;
                key: z.ZodString;
                inverted: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                type: "dismissed";
                key: string;
                inverted?: boolean | undefined;
            }, {
                type: "dismissed";
                key: string;
                inverted?: boolean | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"cooldown_active">;
                key: z.ZodString;
                inverted: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                type: "cooldown_active";
                key: string;
                inverted?: boolean | undefined;
            }, {
                type: "cooldown_active";
                key: string;
                inverted?: boolean | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"frequency_limit">;
                key: z.ZodString;
                limit: z.ZodNumber;
                inverted: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                type: "frequency_limit";
                key: string;
                limit: number;
                inverted?: boolean | undefined;
            }, {
                type: "frequency_limit";
                key: string;
                limit: number;
                inverted?: boolean | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"event_count">;
                key: z.ZodString;
                operator: z.ZodEnum<["gte", "lte", "eq", "gt", "lt"]>;
                count: z.ZodNumber;
                withinMs: z.ZodOptional<z.ZodNumber>;
                counter: z.ZodOptional<z.ZodObject<{
                    events: z.ZodArray<z.ZodEnum<["ui.click", "ui.scroll", "ui.input", "ui.change", "ui.submit", "ui.hover", "ui.idle", "ui.scroll_thrash", "ui.focus_bounce", "nav.page_view", "nav.page_leave", "behavior.rage_click", "behavior.hesitation", "behavior.confusion"]>, "many">;
                    match: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                        equals: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
                        contains: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }>>>;
                }, "strip", z.ZodTypeAny, {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                }, {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "event_count";
                key: string;
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                count: number;
                withinMs?: number | undefined;
                counter?: {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                } | undefined;
            }, {
                type: "event_count";
                key: string;
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                count: number;
                withinMs?: number | undefined;
                counter?: {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                } | undefined;
            }>]>, "many">;
            value: z.ZodUnknown;
        }, "strip", z.ZodTypeAny, {
            conditions: ({
                type: "page_url";
                url: string;
            } | {
                type: "route";
                routeId: string;
            } | {
                type: "anchor_visible";
                anchorId: string;
                state: "visible" | "present" | "absent";
            } | {
                type: "event_occurred";
                eventName: string;
                withinMs?: number | undefined;
            } | {
                type: "state_equals";
                key: string;
                value?: unknown;
            } | {
                type: "viewport";
                minWidth?: number | undefined;
                maxWidth?: number | undefined;
                minHeight?: number | undefined;
                maxHeight?: number | undefined;
            } | {
                type: "session_metric";
                key: "time_on_page" | "page_views" | "scroll_depth";
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                threshold: number;
            } | {
                type: "dismissed";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "cooldown_active";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "frequency_limit";
                key: string;
                limit: number;
                inverted?: boolean | undefined;
            } | {
                type: "event_count";
                key: string;
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                count: number;
                withinMs?: number | undefined;
                counter?: {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                } | undefined;
            })[];
            value?: unknown;
        }, {
            conditions: ({
                type: "page_url";
                url: string;
            } | {
                type: "route";
                routeId: string;
            } | {
                type: "anchor_visible";
                anchorId: string;
                state: "visible" | "present" | "absent";
            } | {
                type: "event_occurred";
                eventName: string;
                withinMs?: number | undefined;
            } | {
                type: "state_equals";
                key: string;
                value?: unknown;
            } | {
                type: "viewport";
                minWidth?: number | undefined;
                maxWidth?: number | undefined;
                minHeight?: number | undefined;
                maxHeight?: number | undefined;
            } | {
                type: "session_metric";
                key: "time_on_page" | "page_views" | "scroll_depth";
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                threshold: number;
            } | {
                type: "dismissed";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "cooldown_active";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "frequency_limit";
                key: string;
                limit: number;
                inverted?: boolean | undefined;
            } | {
                type: "event_count";
                key: string;
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                count: number;
                withinMs?: number | undefined;
                counter?: {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                } | undefined;
            })[];
            value?: unknown;
        }>, "many">;
        default: z.ZodUnknown;
    }, "strip", z.ZodTypeAny, {
        type: "rules";
        rules: {
            conditions: ({
                type: "page_url";
                url: string;
            } | {
                type: "route";
                routeId: string;
            } | {
                type: "anchor_visible";
                anchorId: string;
                state: "visible" | "present" | "absent";
            } | {
                type: "event_occurred";
                eventName: string;
                withinMs?: number | undefined;
            } | {
                type: "state_equals";
                key: string;
                value?: unknown;
            } | {
                type: "viewport";
                minWidth?: number | undefined;
                maxWidth?: number | undefined;
                minHeight?: number | undefined;
                maxHeight?: number | undefined;
            } | {
                type: "session_metric";
                key: "time_on_page" | "page_views" | "scroll_depth";
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                threshold: number;
            } | {
                type: "dismissed";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "cooldown_active";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "frequency_limit";
                key: string;
                limit: number;
                inverted?: boolean | undefined;
            } | {
                type: "event_count";
                key: string;
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                count: number;
                withinMs?: number | undefined;
                counter?: {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                } | undefined;
            })[];
            value?: unknown;
        }[];
        default?: unknown;
    }, {
        type: "rules";
        rules: {
            conditions: ({
                type: "page_url";
                url: string;
            } | {
                type: "route";
                routeId: string;
            } | {
                type: "anchor_visible";
                anchorId: string;
                state: "visible" | "present" | "absent";
            } | {
                type: "event_occurred";
                eventName: string;
                withinMs?: number | undefined;
            } | {
                type: "state_equals";
                key: string;
                value?: unknown;
            } | {
                type: "viewport";
                minWidth?: number | undefined;
                maxWidth?: number | undefined;
                minHeight?: number | undefined;
                maxHeight?: number | undefined;
            } | {
                type: "session_metric";
                key: "time_on_page" | "page_views" | "scroll_depth";
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                threshold: number;
            } | {
                type: "dismissed";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "cooldown_active";
                key: string;
                inverted?: boolean | undefined;
            } | {
                type: "frequency_limit";
                key: string;
                limit: number;
                inverted?: boolean | undefined;
            } | {
                type: "event_count";
                key: string;
                operator: "gte" | "lte" | "eq" | "gt" | "lt";
                count: number;
                withinMs?: number | undefined;
                counter?: {
                    events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                    match?: Record<string, {
                        equals?: string | number | boolean | undefined;
                        contains?: string | undefined;
                    }> | undefined;
                } | undefined;
            })[];
            value?: unknown;
        }[];
        default?: unknown;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        type: z.ZodLiteral<"score">;
        field: z.ZodString;
        threshold: z.ZodNumber;
        above: z.ZodUnknown;
        below: z.ZodUnknown;
    }, "strip", z.ZodTypeAny, {
        type: "score";
        threshold: number;
        field: string;
        above?: unknown;
        below?: unknown;
    }, {
        type: "score";
        threshold: number;
        field: string;
        above?: unknown;
        below?: unknown;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        type: z.ZodLiteral<"model">;
        modelId: z.ZodString;
        inputs: z.ZodArray<z.ZodString, "many">;
        outputMapping: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        default: z.ZodUnknown;
    }, "strip", z.ZodTypeAny, {
        type: "model";
        modelId: string;
        inputs: string[];
        outputMapping: Record<string, unknown>;
        default?: unknown;
    }, {
        type: "model";
        modelId: string;
        inputs: string[];
        outputMapping: Record<string, unknown>;
        default?: unknown;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        type: z.ZodLiteral<"external">;
        endpoint: z.ZodString;
        method: z.ZodOptional<z.ZodEnum<["GET", "POST"]>>;
        default: z.ZodUnknown;
        timeoutMs: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "external";
        endpoint: string;
        default?: unknown;
        method?: "GET" | "POST" | undefined;
        timeoutMs?: number | undefined;
    }, {
        type: "external";
        endpoint: string;
        default?: unknown;
        method?: "GET" | "POST" | undefined;
        timeoutMs?: number | undefined;
    }>;
} | {
    defName: string;
    schema: z.ZodObject<{
        conditions: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<"page_url">;
            url: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "page_url";
            url: string;
        }, {
            type: "page_url";
            url: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"route">;
            routeId: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "route";
            routeId: string;
        }, {
            type: "route";
            routeId: string;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"anchor_visible">;
            anchorId: z.ZodString;
            state: z.ZodEnum<["visible", "present", "absent"]>;
        }, "strip", z.ZodTypeAny, {
            type: "anchor_visible";
            anchorId: string;
            state: "visible" | "present" | "absent";
        }, {
            type: "anchor_visible";
            anchorId: string;
            state: "visible" | "present" | "absent";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"event_occurred">;
            eventName: z.ZodString;
            withinMs: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "event_occurred";
            eventName: string;
            withinMs?: number | undefined;
        }, {
            type: "event_occurred";
            eventName: string;
            withinMs?: number | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"state_equals">;
            key: z.ZodString;
            value: z.ZodUnknown;
        }, "strip", z.ZodTypeAny, {
            type: "state_equals";
            key: string;
            value?: unknown;
        }, {
            type: "state_equals";
            key: string;
            value?: unknown;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"viewport">;
            minWidth: z.ZodOptional<z.ZodNumber>;
            maxWidth: z.ZodOptional<z.ZodNumber>;
            minHeight: z.ZodOptional<z.ZodNumber>;
            maxHeight: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "viewport";
            minWidth?: number | undefined;
            maxWidth?: number | undefined;
            minHeight?: number | undefined;
            maxHeight?: number | undefined;
        }, {
            type: "viewport";
            minWidth?: number | undefined;
            maxWidth?: number | undefined;
            minHeight?: number | undefined;
            maxHeight?: number | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"session_metric">;
            key: z.ZodEnum<["time_on_page", "page_views", "scroll_depth"]>;
            operator: z.ZodEnum<["gte", "lte", "eq", "gt", "lt"]>;
            threshold: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type: "session_metric";
            key: "time_on_page" | "page_views" | "scroll_depth";
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            threshold: number;
        }, {
            type: "session_metric";
            key: "time_on_page" | "page_views" | "scroll_depth";
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            threshold: number;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"dismissed">;
            key: z.ZodString;
            inverted: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "dismissed";
            key: string;
            inverted?: boolean | undefined;
        }, {
            type: "dismissed";
            key: string;
            inverted?: boolean | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"cooldown_active">;
            key: z.ZodString;
            inverted: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "cooldown_active";
            key: string;
            inverted?: boolean | undefined;
        }, {
            type: "cooldown_active";
            key: string;
            inverted?: boolean | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"frequency_limit">;
            key: z.ZodString;
            limit: z.ZodNumber;
            inverted: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "frequency_limit";
            key: string;
            limit: number;
            inverted?: boolean | undefined;
        }, {
            type: "frequency_limit";
            key: string;
            limit: number;
            inverted?: boolean | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"event_count">;
            key: z.ZodString;
            operator: z.ZodEnum<["gte", "lte", "eq", "gt", "lt"]>;
            count: z.ZodNumber;
            withinMs: z.ZodOptional<z.ZodNumber>;
            counter: z.ZodOptional<z.ZodObject<{
                events: z.ZodArray<z.ZodEnum<["ui.click", "ui.scroll", "ui.input", "ui.change", "ui.submit", "ui.hover", "ui.idle", "ui.scroll_thrash", "ui.focus_bounce", "nav.page_view", "nav.page_leave", "behavior.rage_click", "behavior.hesitation", "behavior.confusion"]>, "many">;
                match: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                    equals: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
                    contains: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }>>>;
            }, "strip", z.ZodTypeAny, {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            }, {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "event_count";
            key: string;
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            count: number;
            withinMs?: number | undefined;
            counter?: {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            } | undefined;
        }, {
            type: "event_count";
            key: string;
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            count: number;
            withinMs?: number | undefined;
            counter?: {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            } | undefined;
        }>]>, "many">;
        value: z.ZodUnknown;
    }, "strip", z.ZodTypeAny, {
        conditions: ({
            type: "page_url";
            url: string;
        } | {
            type: "route";
            routeId: string;
        } | {
            type: "anchor_visible";
            anchorId: string;
            state: "visible" | "present" | "absent";
        } | {
            type: "event_occurred";
            eventName: string;
            withinMs?: number | undefined;
        } | {
            type: "state_equals";
            key: string;
            value?: unknown;
        } | {
            type: "viewport";
            minWidth?: number | undefined;
            maxWidth?: number | undefined;
            minHeight?: number | undefined;
            maxHeight?: number | undefined;
        } | {
            type: "session_metric";
            key: "time_on_page" | "page_views" | "scroll_depth";
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            threshold: number;
        } | {
            type: "dismissed";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "cooldown_active";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "frequency_limit";
            key: string;
            limit: number;
            inverted?: boolean | undefined;
        } | {
            type: "event_count";
            key: string;
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            count: number;
            withinMs?: number | undefined;
            counter?: {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            } | undefined;
        })[];
        value?: unknown;
    }, {
        conditions: ({
            type: "page_url";
            url: string;
        } | {
            type: "route";
            routeId: string;
        } | {
            type: "anchor_visible";
            anchorId: string;
            state: "visible" | "present" | "absent";
        } | {
            type: "event_occurred";
            eventName: string;
            withinMs?: number | undefined;
        } | {
            type: "state_equals";
            key: string;
            value?: unknown;
        } | {
            type: "viewport";
            minWidth?: number | undefined;
            maxWidth?: number | undefined;
            minHeight?: number | undefined;
            maxHeight?: number | undefined;
        } | {
            type: "session_metric";
            key: "time_on_page" | "page_views" | "scroll_depth";
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            threshold: number;
        } | {
            type: "dismissed";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "cooldown_active";
            key: string;
            inverted?: boolean | undefined;
        } | {
            type: "frequency_limit";
            key: string;
            limit: number;
            inverted?: boolean | undefined;
        } | {
            type: "event_count";
            key: string;
            operator: "gte" | "lte" | "eq" | "gt" | "lt";
            count: number;
            withinMs?: number | undefined;
            counter?: {
                events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
                match?: Record<string, {
                    equals?: string | number | boolean | undefined;
                    contains?: string | undefined;
                }> | undefined;
            } | undefined;
        })[];
        value?: unknown;
    }>;
} | {
    defName: string;
    schema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"page_url">;
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "page_url";
        url: string;
    }, {
        type: "page_url";
        url: string;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"route">;
        routeId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "route";
        routeId: string;
    }, {
        type: "route";
        routeId: string;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"anchor_visible">;
        anchorId: z.ZodString;
        state: z.ZodEnum<["visible", "present", "absent"]>;
    }, "strip", z.ZodTypeAny, {
        type: "anchor_visible";
        anchorId: string;
        state: "visible" | "present" | "absent";
    }, {
        type: "anchor_visible";
        anchorId: string;
        state: "visible" | "present" | "absent";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"event_occurred">;
        eventName: z.ZodString;
        withinMs: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "event_occurred";
        eventName: string;
        withinMs?: number | undefined;
    }, {
        type: "event_occurred";
        eventName: string;
        withinMs?: number | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"state_equals">;
        key: z.ZodString;
        value: z.ZodUnknown;
    }, "strip", z.ZodTypeAny, {
        type: "state_equals";
        key: string;
        value?: unknown;
    }, {
        type: "state_equals";
        key: string;
        value?: unknown;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"viewport">;
        minWidth: z.ZodOptional<z.ZodNumber>;
        maxWidth: z.ZodOptional<z.ZodNumber>;
        minHeight: z.ZodOptional<z.ZodNumber>;
        maxHeight: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "viewport";
        minWidth?: number | undefined;
        maxWidth?: number | undefined;
        minHeight?: number | undefined;
        maxHeight?: number | undefined;
    }, {
        type: "viewport";
        minWidth?: number | undefined;
        maxWidth?: number | undefined;
        minHeight?: number | undefined;
        maxHeight?: number | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"session_metric">;
        key: z.ZodEnum<["time_on_page", "page_views", "scroll_depth"]>;
        operator: z.ZodEnum<["gte", "lte", "eq", "gt", "lt"]>;
        threshold: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type: "session_metric";
        key: "time_on_page" | "page_views" | "scroll_depth";
        operator: "gte" | "lte" | "eq" | "gt" | "lt";
        threshold: number;
    }, {
        type: "session_metric";
        key: "time_on_page" | "page_views" | "scroll_depth";
        operator: "gte" | "lte" | "eq" | "gt" | "lt";
        threshold: number;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"dismissed">;
        key: z.ZodString;
        inverted: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "dismissed";
        key: string;
        inverted?: boolean | undefined;
    }, {
        type: "dismissed";
        key: string;
        inverted?: boolean | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"cooldown_active">;
        key: z.ZodString;
        inverted: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "cooldown_active";
        key: string;
        inverted?: boolean | undefined;
    }, {
        type: "cooldown_active";
        key: string;
        inverted?: boolean | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"frequency_limit">;
        key: z.ZodString;
        limit: z.ZodNumber;
        inverted: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "frequency_limit";
        key: string;
        limit: number;
        inverted?: boolean | undefined;
    }, {
        type: "frequency_limit";
        key: string;
        limit: number;
        inverted?: boolean | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"event_count">;
        key: z.ZodString;
        operator: z.ZodEnum<["gte", "lte", "eq", "gt", "lt"]>;
        count: z.ZodNumber;
        withinMs: z.ZodOptional<z.ZodNumber>;
        counter: z.ZodOptional<z.ZodObject<{
            events: z.ZodArray<z.ZodEnum<["ui.click", "ui.scroll", "ui.input", "ui.change", "ui.submit", "ui.hover", "ui.idle", "ui.scroll_thrash", "ui.focus_bounce", "nav.page_view", "nav.page_leave", "behavior.rage_click", "behavior.hesitation", "behavior.confusion"]>, "many">;
            match: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                equals: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
                contains: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                equals?: string | number | boolean | undefined;
                contains?: string | undefined;
            }, {
                equals?: string | number | boolean | undefined;
                contains?: string | undefined;
            }>>>;
        }, "strip", z.ZodTypeAny, {
            events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
            match?: Record<string, {
                equals?: string | number | boolean | undefined;
                contains?: string | undefined;
            }> | undefined;
        }, {
            events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
            match?: Record<string, {
                equals?: string | number | boolean | undefined;
                contains?: string | undefined;
            }> | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "event_count";
        key: string;
        operator: "gte" | "lte" | "eq" | "gt" | "lt";
        count: number;
        withinMs?: number | undefined;
        counter?: {
            events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
            match?: Record<string, {
                equals?: string | number | boolean | undefined;
                contains?: string | undefined;
            }> | undefined;
        } | undefined;
    }, {
        type: "event_count";
        key: string;
        operator: "gte" | "lte" | "eq" | "gt" | "lt";
        count: number;
        withinMs?: number | undefined;
        counter?: {
            events: ("ui.click" | "ui.scroll" | "ui.input" | "ui.change" | "ui.submit" | "ui.hover" | "ui.idle" | "ui.scroll_thrash" | "ui.focus_bounce" | "nav.page_view" | "nav.page_leave" | "behavior.rage_click" | "behavior.hesitation" | "behavior.confusion")[];
            match?: Record<string, {
                equals?: string | number | boolean | undefined;
                contains?: string | undefined;
            }> | undefined;
        } | undefined;
    }>]>;
})[];
export type ActivationConfigSchema = z.infer<typeof ActivationConfigZ>;
