/** * Resolves access-code endpoints from `EndpointsRuntimeContext` (throws * if no provider is mounted) and exposes loading-state-aware wrappers * around the standalone helpers in `utils/access-code-client`. * * @returns the following fields. The `validate` / `consume` / * `validateAndConsume` functions and the returned object identity are * NOT memoized — they're re-created each render. Wrap with * `useCallback` / `useMemo` at the call site if downstream effect * dep arrays depend on stable identities. * - `validate(email, code)`: validates only. * - `consume(email, code)`: consumes only. * - `validateAndConsume(email, code)`: one-step validate-then-consume. * - `isValidating: boolean`: a validate call is in flight. * - `isConsuming: boolean`: a consume call is in flight. * - `isProcessing: boolean`: convenience — `isValidating || isConsuming`. * Use this for a single "in-flight" indicator on UI affordances that * should disable during both phases. * * @example * const { validate, consume, isProcessing } = useAccessCodeIntegration(); * * const handleRegistration = async (formData) => { * const validation = await validate(formData.email, formData.accessCode); * if (!validation.valid) { * setError(validation.message); * return; * } * * // Process registration... * const registrationResult = await registerUser(formData); * * if (registrationResult.success) { * await consume(formData.email, formData.accessCode); * } * }; */ export declare function useAccessCodeIntegration(): { validate: (email: string, code: string) => Promise; consume: (email: string, code: string) => Promise; validateAndConsume: (email: string, code: string) => Promise; isValidating: boolean; isConsuming: boolean; isProcessing: boolean; }; //# sourceMappingURL=use-access-code-integration.d.ts.map