import { z } from "zod"; import { GroupXError, type GroupXErrorCode } from "../core/errors.js"; export declare const INTERNAL_ERROR_CODE: "INTERNAL_ERROR"; export declare const SafeValidationIssueSchema: z.ZodObject<{ path: z.ZodString; code: z.ZodString; }, z.core.$strict>; export declare const SafeErrorDetailsSchema: z.ZodObject<{ forbiddenFields: z.ZodOptional>; unknownTargets: z.ZodOptional>; issues: z.ZodOptional>>; }, z.core.$strict>; export declare const SafeErrorCodeSchema: z.ZodEnum<{ ADAPTER_NOT_FOUND: "ADAPTER_NOT_FOUND"; ADAPTER_START_FAILED: "ADAPTER_START_FAILED"; ASK_TIMEOUT: "ASK_TIMEOUT"; CAUSAL_CYCLE: "CAUSAL_CYCLE"; CLIENT_COMMAND_CONFLICT: "CLIENT_COMMAND_CONFLICT"; CONTEXT_BUDGET_EXCEEDED: "CONTEXT_BUDGET_EXCEEDED"; DUPLICATE_DISPATCH: "DUPLICATE_DISPATCH"; HOP_LIMIT_REACHED: "HOP_LIMIT_REACHED"; INTERNAL_ERROR: "INTERNAL_ERROR"; INVALID_ENVELOPE: "INVALID_ENVELOPE"; MCP_BINDING_MISMATCH: "MCP_BINDING_MISMATCH"; MCP_UNAVAILABLE: "MCP_UNAVAILABLE"; MESSAGE_TOO_LARGE: "MESSAGE_TOO_LARGE"; NATIVE_POLICY_BLOCKED: "NATIVE_POLICY_BLOCKED"; NATIVE_RESUME_UNSUPPORTED: "NATIVE_RESUME_UNSUPPORTED"; PROTOCOL_HANDSHAKE_TIMEOUT: "PROTOCOL_HANDSHAKE_TIMEOUT"; PROTOCOL_INVALID_MESSAGE: "PROTOCOL_INVALID_MESSAGE"; QUEUE_CAPACITY_REACHED: "QUEUE_CAPACITY_REACHED"; ROOT_TURN_LIMIT_REACHED: "ROOT_TURN_LIMIT_REACHED"; SENDER_FIELD_FORBIDDEN: "SENDER_FIELD_FORBIDDEN"; SESSION_NOT_AVAILABLE: "SESSION_NOT_AVAILABLE"; STEER_LIMIT_REACHED: "STEER_LIMIT_REACHED"; STORE_CONFLICT: "STORE_CONFLICT"; STORE_UNAVAILABLE: "STORE_UNAVAILABLE"; SUPERVISION_PAIR_INVALID: "SUPERVISION_PAIR_INVALID"; SUPERVISION_STEER_REQUIRED: "SUPERVISION_STEER_REQUIRED"; SUPERVISION_WATCH_REQUIRED: "SUPERVISION_WATCH_REQUIRED"; TRANSPORT_MODE_MISMATCH: "TRANSPORT_MODE_MISMATCH"; TURN_CANCEL_TIMEOUT: "TURN_CANCEL_TIMEOUT"; TURN_FIRST_EVENT_TIMEOUT: "TURN_FIRST_EVENT_TIMEOUT"; TURN_IDLE_TIMEOUT: "TURN_IDLE_TIMEOUT"; TURN_INTERRUPTED: "TURN_INTERRUPTED"; UNEXPECTED_NATIVE_INTERACTION: "UNEXPECTED_NATIVE_INTERACTION"; UNKNOWN_ACTOR: "UNKNOWN_ACTOR"; UNKNOWN_TARGET: "UNKNOWN_TARGET"; }>; export declare const SafeErrorBodySchema: z.ZodObject<{ error: z.ZodObject<{ code: z.ZodEnum<{ ADAPTER_NOT_FOUND: "ADAPTER_NOT_FOUND"; ADAPTER_START_FAILED: "ADAPTER_START_FAILED"; ASK_TIMEOUT: "ASK_TIMEOUT"; CAUSAL_CYCLE: "CAUSAL_CYCLE"; CLIENT_COMMAND_CONFLICT: "CLIENT_COMMAND_CONFLICT"; CONTEXT_BUDGET_EXCEEDED: "CONTEXT_BUDGET_EXCEEDED"; DUPLICATE_DISPATCH: "DUPLICATE_DISPATCH"; HOP_LIMIT_REACHED: "HOP_LIMIT_REACHED"; INTERNAL_ERROR: "INTERNAL_ERROR"; INVALID_ENVELOPE: "INVALID_ENVELOPE"; MCP_BINDING_MISMATCH: "MCP_BINDING_MISMATCH"; MCP_UNAVAILABLE: "MCP_UNAVAILABLE"; MESSAGE_TOO_LARGE: "MESSAGE_TOO_LARGE"; NATIVE_POLICY_BLOCKED: "NATIVE_POLICY_BLOCKED"; NATIVE_RESUME_UNSUPPORTED: "NATIVE_RESUME_UNSUPPORTED"; PROTOCOL_HANDSHAKE_TIMEOUT: "PROTOCOL_HANDSHAKE_TIMEOUT"; PROTOCOL_INVALID_MESSAGE: "PROTOCOL_INVALID_MESSAGE"; QUEUE_CAPACITY_REACHED: "QUEUE_CAPACITY_REACHED"; ROOT_TURN_LIMIT_REACHED: "ROOT_TURN_LIMIT_REACHED"; SENDER_FIELD_FORBIDDEN: "SENDER_FIELD_FORBIDDEN"; SESSION_NOT_AVAILABLE: "SESSION_NOT_AVAILABLE"; STEER_LIMIT_REACHED: "STEER_LIMIT_REACHED"; STORE_CONFLICT: "STORE_CONFLICT"; STORE_UNAVAILABLE: "STORE_UNAVAILABLE"; SUPERVISION_PAIR_INVALID: "SUPERVISION_PAIR_INVALID"; SUPERVISION_STEER_REQUIRED: "SUPERVISION_STEER_REQUIRED"; SUPERVISION_WATCH_REQUIRED: "SUPERVISION_WATCH_REQUIRED"; TRANSPORT_MODE_MISMATCH: "TRANSPORT_MODE_MISMATCH"; TURN_CANCEL_TIMEOUT: "TURN_CANCEL_TIMEOUT"; TURN_FIRST_EVENT_TIMEOUT: "TURN_FIRST_EVENT_TIMEOUT"; TURN_IDLE_TIMEOUT: "TURN_IDLE_TIMEOUT"; TURN_INTERRUPTED: "TURN_INTERRUPTED"; UNEXPECTED_NATIVE_INTERACTION: "UNEXPECTED_NATIVE_INTERACTION"; UNKNOWN_ACTOR: "UNKNOWN_ACTOR"; UNKNOWN_TARGET: "UNKNOWN_TARGET"; }>; message: z.ZodString; correlationId: z.ZodOptional; details: z.ZodOptional>; unknownTargets: z.ZodOptional>; issues: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>; }, z.core.$strict>; export type SafeErrorDetails = z.infer; export type SafeErrorBody = z.infer; export declare class ContractValidationError extends GroupXError { readonly safeDetails: SafeErrorDetails | undefined; constructor(code: GroupXErrorCode, safeDetails?: SafeErrorDetails, options?: ErrorOptions); } export declare function parseWriteRequest(schema: TSchema, input: unknown): z.output; export declare function parseContractOutput(schema: TSchema, input: unknown): z.output; export interface KnownTargetOptions { readonly knownTargets?: ReadonlySet | readonly string[] | ((target: string) => boolean); } export declare function assertKnownTargets(targets: readonly string[], options?: KnownTargetOptions): void; export declare function parseCursorParameter(input: unknown): number; export declare function parseLastEventId(input: unknown): number | undefined; export declare function resolveEventCursor(input: { readonly afterSeq?: unknown; readonly lastEventId?: unknown; }): number; export declare function toSafeErrorBody(error: unknown, correlationId?: string): SafeErrorBody; export declare function httpStatusForErrorCode(code: GroupXErrorCode | typeof INTERNAL_ERROR_CODE): number; export declare function assertNonNegativeCursor(value: unknown): number; //# sourceMappingURL=validation.d.ts.map