import { z } from 'zod'; /** `ruleset.yaml` */ export declare const RulesetManifestSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional; environment: z.ZodOptional; }, "strict", z.ZodTypeAny, { name: string; description?: string | undefined; environment?: string | undefined; }, { name: string; description?: string | undefined; environment?: string | undefined; }>; export type RulesetManifest = z.infer; /** * `*.rule.yaml` / `rule.yaml`. Every `ExportedRule` key is optional (pathPattern/method * are normally derived from the filesystem location — `pathPattern:`/`methods:`/`method:` * are explicit escape hatches), plus the authoring-only `pipeline:` key. Exactly one of * `pipeline`/`pipelineConfig` may be present. */ export declare const RuleManifestSchema: z.ZodEffects; method: z.ZodOptional>; methods: z.ZodOptional, "many">>; targetUrl: z.ZodOptional; stripPrefix: z.ZodOptional; order: z.ZodOptional; timeout: z.ZodOptional; preserveHost: z.ZodOptional; forwardCookies: z.ZodOptional; headerConfig: z.ZodOptional>; strip: z.ZodOptional>; add: z.ZodOptional>; }, "strict", z.ZodTypeAny, { strip?: string[] | undefined; forward?: string[] | undefined; add?: Record | undefined; }, { strip?: string[] | undefined; forward?: string[] | undefined; add?: Record | undefined; }>>; authTransform: z.ZodOptional>; internalRewrite: z.ZodOptional; proxyType: z.ZodOptional>; emailHandlerConfig: z.ZodOptional>; pipelineConfig: z.ZodOptional; steps: z.ZodArray; name: z.ZodOptional; handlerType: z.ZodString; config: z.ZodRecord; isEnabled: z.ZodOptional; }, "strict", z.ZodTypeAny, { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }, { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }>, "many">; postSteps: z.ZodOptional; name: z.ZodOptional; handlerType: z.ZodString; config: z.ZodRecord; isEnabled: z.ZodOptional; }, "strict", z.ZodTypeAny, { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }, { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }>, "many">>; validators: z.ZodOptional; config: z.ZodOptional>; }, "strict", z.ZodTypeAny, { type: "auth_required" | "rate_limit"; config?: Record | undefined; }, { type: "auth_required" | "rate_limit"; config?: Record | undefined; }>, "many">>; }, "strict", z.ZodTypeAny, { name: string; steps: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; description?: string | undefined; postSteps?: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; }, { name: string; steps: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; description?: string | undefined; postSteps?: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; }>>; pipeline: z.ZodOptional; description: z.ZodOptional; steps: z.ZodArray; name: z.ZodOptional; handler: z.ZodString; config: z.ZodOptional>; code: z.ZodOptional; isEnabled: z.ZodOptional; }, "strict", z.ZodTypeAny, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }>, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }>, "many">; postSteps: z.ZodOptional; name: z.ZodOptional; handler: z.ZodString; config: z.ZodOptional>; code: z.ZodOptional; isEnabled: z.ZodOptional; }, "strict", z.ZodTypeAny, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }>, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }, { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }>, "many">>; validators: z.ZodOptional; config: z.ZodOptional>; }, "strict", z.ZodTypeAny, { type: "auth_required" | "rate_limit"; config?: Record | undefined; }, { type: "auth_required" | "rate_limit"; config?: Record | undefined; }>, "many">>; }, "strict", z.ZodTypeAny, { steps: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; name?: string | undefined; description?: string | undefined; postSteps?: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; }, { steps: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; name?: string | undefined; description?: string | undefined; postSteps?: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; }>>; isEnabled: z.ZodOptional; debugEnabled: z.ZodOptional; bypassVisibility: z.ZodOptional; description: z.ZodOptional; }, "strict", z.ZodTypeAny, { pipeline?: { steps: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; name?: string | undefined; description?: string | undefined; postSteps?: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; isEnabled?: boolean | undefined; description?: string | undefined; pathPattern?: string | undefined; method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | undefined; methods?: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS")[] | undefined; targetUrl?: string | undefined; stripPrefix?: boolean | undefined; order?: number | undefined; timeout?: number | undefined; preserveHost?: boolean | undefined; forwardCookies?: boolean | undefined; headerConfig?: { strip?: string[] | undefined; forward?: string[] | undefined; add?: Record | undefined; } | undefined; authTransform?: Record | undefined; internalRewrite?: boolean | undefined; proxyType?: "external_proxy" | "internal_rewrite" | "email_form_handler" | "pipeline" | undefined; emailHandlerConfig?: Record | undefined; pipelineConfig?: { name: string; steps: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; description?: string | undefined; postSteps?: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; debugEnabled?: boolean | undefined; bypassVisibility?: boolean | undefined; }, { pipeline?: { steps: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; name?: string | undefined; description?: string | undefined; postSteps?: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; isEnabled?: boolean | undefined; description?: string | undefined; pathPattern?: string | undefined; method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | undefined; methods?: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS")[] | undefined; targetUrl?: string | undefined; stripPrefix?: boolean | undefined; order?: number | undefined; timeout?: number | undefined; preserveHost?: boolean | undefined; forwardCookies?: boolean | undefined; headerConfig?: { strip?: string[] | undefined; forward?: string[] | undefined; add?: Record | undefined; } | undefined; authTransform?: Record | undefined; internalRewrite?: boolean | undefined; proxyType?: "external_proxy" | "internal_rewrite" | "email_form_handler" | "pipeline" | undefined; emailHandlerConfig?: Record | undefined; pipelineConfig?: { name: string; steps: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; description?: string | undefined; postSteps?: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; debugEnabled?: boolean | undefined; bypassVisibility?: boolean | undefined; }>, { pipeline?: { steps: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; name?: string | undefined; description?: string | undefined; postSteps?: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; isEnabled?: boolean | undefined; description?: string | undefined; pathPattern?: string | undefined; method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | undefined; methods?: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS")[] | undefined; targetUrl?: string | undefined; stripPrefix?: boolean | undefined; order?: number | undefined; timeout?: number | undefined; preserveHost?: boolean | undefined; forwardCookies?: boolean | undefined; headerConfig?: { strip?: string[] | undefined; forward?: string[] | undefined; add?: Record | undefined; } | undefined; authTransform?: Record | undefined; internalRewrite?: boolean | undefined; proxyType?: "external_proxy" | "internal_rewrite" | "email_form_handler" | "pipeline" | undefined; emailHandlerConfig?: Record | undefined; pipelineConfig?: { name: string; steps: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; description?: string | undefined; postSteps?: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; debugEnabled?: boolean | undefined; bypassVisibility?: boolean | undefined; }, { pipeline?: { steps: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; name?: string | undefined; description?: string | undefined; postSteps?: { handler: string; code?: string | undefined; config?: Record | undefined; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; isEnabled?: boolean | undefined; description?: string | undefined; pathPattern?: string | undefined; method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | undefined; methods?: ("GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS")[] | undefined; targetUrl?: string | undefined; stripPrefix?: boolean | undefined; order?: number | undefined; timeout?: number | undefined; preserveHost?: boolean | undefined; forwardCookies?: boolean | undefined; headerConfig?: { strip?: string[] | undefined; forward?: string[] | undefined; add?: Record | undefined; } | undefined; authTransform?: Record | undefined; internalRewrite?: boolean | undefined; proxyType?: "external_proxy" | "internal_rewrite" | "email_form_handler" | "pipeline" | undefined; emailHandlerConfig?: Record | undefined; pipelineConfig?: { name: string; steps: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[]; description?: string | undefined; postSteps?: { config: Record; handlerType: string; id?: string | undefined; name?: string | undefined; isEnabled?: boolean | undefined; }[] | undefined; validators?: { type: "auth_required" | "rate_limit"; config?: Record | undefined; }[] | undefined; } | undefined; debugEnabled?: boolean | undefined; bypassVisibility?: boolean | undefined; }>; export type RuleManifest = z.infer; /** `schemas/.schema.yaml` */ export declare const SchemaManifestSchema: z.ZodObject<{ id: z.ZodOptional; name: z.ZodString; kind: z.ZodOptional>; fields: z.ZodArray; }, "strip", z.ZodUnknown, z.objectOutputType<{ name: z.ZodString; type: z.ZodString; required: z.ZodOptional; }, z.ZodUnknown, "strip">, z.objectInputType<{ name: z.ZodString; type: z.ZodString; required: z.ZodOptional; }, z.ZodUnknown, "strip">>, "many">; }, "strict", z.ZodTypeAny, { name: string; fields: z.objectOutputType<{ name: z.ZodString; type: z.ZodString; required: z.ZodOptional; }, z.ZodUnknown, "strip">[]; id?: string | undefined; kind?: "upload" | "chat" | "state" | undefined; }, { name: string; fields: z.objectInputType<{ name: z.ZodString; type: z.ZodString; required: z.ZodOptional; }, z.ZodUnknown, "strip">[]; id?: string | undefined; kind?: "upload" | "chat" | "state" | undefined; }>; export type SchemaManifest = z.infer; /** `*.fn.test.yaml` */ export declare const FnTestManifestSchema: z.ZodObject<{ handler: z.ZodString; cases: z.ZodArray; request: z.ZodOptional; steps: z.ZodOptional; deployment: z.ZodOptional; }, "strict", z.ZodTypeAny, { steps?: unknown; user?: unknown; request?: unknown; deployment?: unknown; }, { steps?: unknown; user?: unknown; request?: unknown; deployment?: unknown; }>>; expect: z.ZodEffects; throws: z.ZodOptional; }, "strict", z.ZodTypeAny, { result?: unknown; throws?: string | undefined; }, { result?: unknown; throws?: string | undefined; }>, { result?: unknown; throws?: string | undefined; }, { result?: unknown; throws?: string | undefined; }>; }, "strict", z.ZodTypeAny, { name: string; expect: { result?: unknown; throws?: string | undefined; }; data?: { steps?: unknown; user?: unknown; request?: unknown; deployment?: unknown; } | undefined; }, { name: string; expect: { result?: unknown; throws?: string | undefined; }; data?: { steps?: unknown; user?: unknown; request?: unknown; deployment?: unknown; } | undefined; }>, "many">; }, "strict", z.ZodTypeAny, { handler: string; cases: { name: string; expect: { result?: unknown; throws?: string | undefined; }; data?: { steps?: unknown; user?: unknown; request?: unknown; deployment?: unknown; } | undefined; }[]; }, { handler: string; cases: { name: string; expect: { result?: unknown; throws?: string | undefined; }; data?: { steps?: unknown; user?: unknown; request?: unknown; deployment?: unknown; } | undefined; }[]; }>; export type FnTestManifest = z.infer; /** * Reads `filePath`, parses it as YAML, and validates it against `schema`. On failure, * throws an `Error` whose message contains the file path and every zod issue's path + * message, e.g. `rules/api/x/get.rule.yaml: pipeline.steps[0].handler — Required`. */ export declare function parseYamlFile(filePath: string, schema: z.ZodType): T;