import { B as BaseSubmissionMetadata, E as ExtensibleNode, V as ValidateFormSchemaOptions, J as JsonValue, c as FormSchema, a as FormSubmission, r as FormSubmissionValidationSource, o as FormValues, C as CreateSubmissionInput, s as FormSubmissionWire, t as StrictFormSubmission, u as StrictFormSubmissionWire } from './analytics-CKp_MFX6.js'; import { z } from 'zod'; import './lifecycle.js'; import './i18n/keys.js'; /** Runtime schema for the clean, alias-free submission wire format. */ declare const FormSubmissionWireSchema: z.ZodObject<{ id: z.ZodString; formId: z.ZodString; formVersion: z.ZodNumber; values: z.ZodRecord; locale: z.ZodOptional; metadata: z.ZodRecord; submittedAt: z.ZodString; schemaRevision: z.ZodOptional; }, z.core.$strip>; type FormSubmissionWireSchemaType = z.infer; interface CreateSubmissionOptions extends ExtensibleNode { readonly id?: string; readonly schemaValidation?: ValidateFormSchemaOptions; readonly idFormat?: SubmissionIdFormat; readonly locale: string; readonly submittedAt: string; readonly schemaRevision?: number; readonly metadata?: TMeta & Readonly>; } type SubmissionIdFormat = "uuid" | "ulid" | "custom"; /** Generates a submission identity shared by Core, Controller, and Renderer integrations. */ declare function createSubmissionId(format?: SubmissionIdFormat, factory?: () => string): string; declare function isSubmissionUlid(value: string): boolean; interface ToWireOptions { readonly requireLocale?: boolean; } declare function toFormSubmissionWire(submission: FormSubmission): FormSubmissionWire; declare function toFormSubmissionWire(submission: FormSubmission): FormSubmissionWire; declare function toFormSubmissionWire(submission: StrictFormSubmission, options: { readonly requireLocale: true; }): StrictFormSubmissionWire; declare function fromFormSubmissionWire(wire: FormSubmissionWire): FormSubmission; declare function fromFormSubmissionWire(wire: FormSubmissionWireSchemaType): FormSubmission; declare function fromFormSubmissionWire(wire: FormSubmissionWire): FormSubmission; /** Creates a stable SHA-256 hash for idempotent submission persistence. */ declare function hashFormSubmissionPayload(submission: FormSubmission): Promise; declare function hashFormSubmissionPayload(submission: FormSubmission): Promise; /** Alias kept intentionally descriptive for storage integrations. */ declare const createSubmissionPayloadHash: typeof hashFormSubmissionPayload; /** Re-validates a submission against the exact schema version used to create it. */ declare function assertValidFormSubmission(schema: FormSchema, submission: FormSubmission, validation?: ValidateFormSchemaOptions): void; /** Validates a submission with a FormSchema, a Zod-compatible schema, or a callback. */ declare function assertValidFormSubmissionWith(source: FormSubmissionValidationSource, submission: FormSubmission): Promise; declare function createSubmission(schema: FormSchema, values: FormValues, options: CreateSubmissionOptions): FormSubmission; declare function createSubmission(schema: FormSchema, values: FormValues, options: CreateSubmissionOptions): FormSubmission; declare function createSubmission(input: CreateSubmissionInput): FormSubmission; export { type CreateSubmissionOptions, type SubmissionIdFormat, type ToWireOptions, assertValidFormSubmission, assertValidFormSubmissionWith, createSubmission, createSubmissionId, createSubmissionPayloadHash, fromFormSubmissionWire, hashFormSubmissionPayload, isSubmissionUlid, toFormSubmissionWire };