import { z } from "zod"; export declare const storefrontVerificationChannelSchema: z.ZodEnum<{ email: "email"; sms: "sms"; }>; export declare const storefrontVerificationStatusSchema: z.ZodEnum<{ pending: "pending"; expired: "expired"; cancelled: "cancelled"; failed: "failed"; verified: "verified"; }>; export declare const startEmailVerificationChallengeSchema: z.ZodObject<{ email: z.ZodEmail; purpose: z.ZodDefault; locale: z.ZodNullable>; metadata: z.ZodNullable>>; subjectRef: z.ZodNullable>; }, z.core.$strip>; export declare const startSmsVerificationChallengeSchema: z.ZodObject<{ phone: z.ZodString; purpose: z.ZodDefault; locale: z.ZodNullable>; metadata: z.ZodNullable>>; subjectRef: z.ZodNullable>; }, z.core.$strip>; export declare const confirmEmailVerificationChallengeSchema: z.ZodObject<{ email: z.ZodEmail; code: z.ZodString; purpose: z.ZodDefault; }, z.core.$strip>; export declare const confirmSmsVerificationChallengeSchema: z.ZodObject<{ phone: z.ZodString; code: z.ZodString; purpose: z.ZodDefault; }, z.core.$strip>; export declare const storefrontVerificationChallengeRecordSchema: z.ZodObject<{ id: z.ZodString; channel: z.ZodEnum<{ email: "email"; sms: "sms"; }>; destination: z.ZodString; purpose: z.ZodString; status: z.ZodEnum<{ pending: "pending"; expired: "expired"; cancelled: "cancelled"; failed: "failed"; verified: "verified"; }>; expiresAt: z.ZodDate; verifiedAt: z.ZodNullable; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>; export declare const storefrontVerificationStartResultSchema: z.ZodObject<{ id: z.ZodString; channel: z.ZodEnum<{ email: "email"; sms: "sms"; }>; destination: z.ZodString; purpose: z.ZodString; status: z.ZodEnum<{ pending: "pending"; expired: "expired"; cancelled: "cancelled"; failed: "failed"; verified: "verified"; }>; expiresAt: z.ZodDate; verifiedAt: z.ZodNullable; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>; export declare const storefrontVerificationConfirmResultSchema: z.ZodObject<{ id: z.ZodString; channel: z.ZodEnum<{ email: "email"; sms: "sms"; }>; destination: z.ZodString; purpose: z.ZodString; expiresAt: z.ZodDate; verifiedAt: z.ZodNullable; createdAt: z.ZodDate; updatedAt: z.ZodDate; status: z.ZodLiteral<"verified">; }, z.core.$strip>; /** * Wire shape of a challenge record as it crosses the JSON boundary * (voyant#2114, Batch C). The runtime record carries `Date` instances * (`expiresAt`/`verifiedAt`/`createdAt`/`updatedAt`); `c.json(...)` serializes * those to ISO strings, so the documented response must declare strings — not * `z.date()` — to be an honest contract. The contract test round-trips a real * record through `JSON.parse(JSON.stringify(...))` to keep these in step. */ export declare const storefrontVerificationChallengeRecordWireSchema: z.ZodObject<{ id: z.ZodString; channel: z.ZodEnum<{ email: "email"; sms: "sms"; }>; destination: z.ZodString; purpose: z.ZodString; status: z.ZodEnum<{ pending: "pending"; expired: "expired"; cancelled: "cancelled"; failed: "failed"; verified: "verified"; }>; expiresAt: z.ZodString; verifiedAt: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; /** `{ data }` envelope for the start routes (POST email/sms start). */ export declare const storefrontVerificationStartResponseSchema: z.ZodObject<{ data: z.ZodObject<{ id: z.ZodString; channel: z.ZodEnum<{ email: "email"; sms: "sms"; }>; destination: z.ZodString; purpose: z.ZodString; status: z.ZodEnum<{ pending: "pending"; expired: "expired"; cancelled: "cancelled"; failed: "failed"; verified: "verified"; }>; expiresAt: z.ZodString; verifiedAt: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>; /** `{ data }` envelope for the confirm routes; status is always `verified`. */ export declare const storefrontVerificationConfirmResponseSchema: z.ZodObject<{ data: z.ZodObject<{ id: z.ZodString; channel: z.ZodEnum<{ email: "email"; sms: "sms"; }>; destination: z.ZodString; purpose: z.ZodString; expiresAt: z.ZodString; verifiedAt: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; status: z.ZodLiteral<"verified">; }, z.core.$strip>; }, z.core.$strip>; /** Error envelope shared by the verification non-2xx responses. */ export declare const storefrontVerificationErrorResponseSchema: z.ZodObject<{ error: z.ZodString; code: z.ZodOptional; }, z.core.$strip>; export type StorefrontVerificationChannel = z.infer; export type StorefrontVerificationStatus = z.infer; export type StartEmailVerificationChallengeInput = z.infer; export type StartSmsVerificationChallengeInput = z.infer; export type ConfirmEmailVerificationChallengeInput = z.infer; export type ConfirmSmsVerificationChallengeInput = z.infer; export type StorefrontVerificationChallengeRecord = z.infer; export type StorefrontVerificationStartResult = z.infer; export type StorefrontVerificationConfirmResult = z.infer;