import { B as BaseSubmissionMetadata, c as FormSchema, o as FormValues, p as SubmissionSaveResult, a as FormSubmission, U as UnifiedSubmissionStorageAdapter, q as PrivacyEngine } from './analytics-CKp_MFX6.js'; import './lifecycle.js'; import './i18n/keys.js'; interface SubmissionGuardContext { readonly formId: string; readonly formVersion: number; readonly locale: string; readonly submittedAt: string; readonly challengeToken?: string; readonly clientKey?: string; readonly honeypotValue?: string; readonly metadata?: TMeta; } type SubmissionGuardResult = { readonly status: "allow"; } | { readonly status: "confirm"; readonly message?: string; } | { readonly status: "block"; readonly message?: string; }; type SubmissionGuard = (input: { readonly schema: FormSchema; readonly values: FormValues; readonly context: SubmissionGuardContext; }) => SubmissionGuardResult | Promise; interface SubmissionCodecResult> = Readonly>> { readonly success: true; readonly data: TValues; } interface SubmissionCodecFailure { readonly success: false; readonly error: unknown; } /** Minimal codec contract accepted by the submission pipeline, including Zod codecs. */ interface SubmissionCodec> = Readonly>> { readonly safeParse: (input: TInput) => SubmissionCodecResult | SubmissionCodecFailure; } interface SubmissionPipelineOptions> = Readonly>> { readonly schema: FormSchema; readonly storage: UnifiedSubmissionStorageAdapter; readonly codec?: SubmissionCodec; readonly id: string; readonly locale: string; readonly metadata?: TMeta; readonly submittedAt?: string; readonly schemaRevision?: number; readonly privacyEngine?: PrivacyEngine; /** Must be true when the client has reviewed the PII findings. */ readonly piiWarningAcknowledged?: boolean; /** Idempotency is enabled by default for pipeline saves. */ readonly idempotent?: boolean; readonly now?: () => Date; readonly guards?: readonly SubmissionGuard[]; readonly challengeToken?: string; readonly clientKey?: string; readonly honeypotValue?: string; } type SubmissionPipelineResult = SubmissionSaveResult | { readonly status: "created"; readonly submission: FormSubmission; readonly payloadHash: string; }; interface SubmissionPipeline { submit(input: TInput): Promise>; } /** Runs the complete normalized, validated, privacy-checked, idempotent save flow. */ declare function runSubmissionPipeline> = Readonly>>(options: SubmissionPipelineOptions, input: TInput): Promise>; /** Creates a reusable submission pipeline with fixed schema, storage, and submission identity settings. */ declare function createSubmissionPipeline> = Readonly>>(options: Omit, "submittedAt"> & { readonly submittedAt?: string; }): SubmissionPipeline; export { type SubmissionCodec, type SubmissionCodecFailure, type SubmissionCodecResult, type SubmissionPipeline, type SubmissionPipelineOptions, type SubmissionPipelineResult, createSubmissionPipeline, runSubmissionPipeline };