/** * Shared PWA + kiosk contact-policy UI axes (Frozen G11). * Apps map copy variants to locale strings; do not hardcode dual-channel phrases. */ import type { CustomerContactPolicyPayload } from './customerContactPolicy.js'; /** Safe default when GET contact-policy has not loaded (matches AUTH default `email`). */ export declare const DEFAULT_CUSTOMER_CONTACT_POLICY_PAYLOAD: CustomerContactPolicyPayload; export type ContactPolicyOtpCopyVariant = 'email' | 'phone' | 'email_or_phone'; /** G17: phone in password copy/lookup only when policy allows phone. */ export type ContactPolicyPasswordCopyVariant = 'username_email' | 'username_email_phone'; export declare function resolveOtpIdentifierCopyVariant(policy: Pick): ContactPolicyOtpCopyVariant; export declare function resolvePasswordIdentifierCopyVariant(policy: Pick): ContactPolicyPasswordCopyVariant; /** Password may resolve E.164 via findByPhone when policy allows phone (G17 B). */ export declare function passwordAllowsPhoneLookup(policy: Pick): boolean; export declare function normalizePhoneToE164(raw: string): string | null; /** * Wave 4/5 identifier inputMode: phone / E.164 → tel; email-only → email; * dual policy classifies the current value. */ export declare function resolveSignInIdentifierInputMode(raw: string, policy: Pick): 'tel' | 'email'; //# sourceMappingURL=customerContactPolicyUi.d.ts.map