/**
 * WebAuthn/Passkey Authentication Module
 *
 * Provides secure passwordless authentication using the WebAuthn standard.
 * Supports passkeys on platform authenticators (Touch ID, Face ID, Windows Hello)
 * and cross-platform authenticators (security keys like YubiKey).
 *
 * @example
 * ```typescript
 * import {
 *   getWebAuthnService,
 *   webauthnPlugin,
 *   type WebAuthnConfig,
 * } from './security/webauthn';
 *
 * // Configure and use the service directly
 * const service = getWebAuthnService({
 *   rpName: 'Vorion Platform',
 *   rpId: 'vorion.ai',
 *   origin: 'https://vorion.ai',
 * });
 *
 * // Or register the Fastify plugin
 * await fastify.register(webauthnPlugin, {
 *   config: {
 *     rpName: 'Vorion Platform',
 *     rpId: 'vorion.ai',
 *     origin: 'https://vorion.ai',
 *   },
 *   getUserContext: async (request) => {
 *     // Extract user from session/JWT
 *     return { userId: request.user.id, userName: request.user.email };
 *   },
 * });
 * ```
 *
 * @packageDocumentation
 */
// Schemas and constants
export { webAuthnCredentialSchema, webAuthnConfigSchema, authenticatorTransportSchema, generateRegistrationOptionsInputSchema, registrationOptionsSchema, verifyRegistrationInputSchema, registrationResultSchema, generateAuthenticationOptionsInputSchema, authenticationOptionsSchema, verifyAuthenticationInputSchema, authenticationResultSchema, listCredentialsInputSchema, renameCredentialInputSchema, deleteCredentialInputSchema, challengeEntrySchema, 
// Error code constants
RegistrationErrorCode, AuthenticationErrorCode, WebAuthnAuditEventType, 
// Default configuration
DEFAULT_WEBAUTHN_CONFIG, } from './types.js';
export { InMemoryWebAuthnStore, RedisWebAuthnStore, getWebAuthnStore, createWebAuthnStore, createRedisWebAuthnStore, resetWebAuthnStore, enableRedisWebAuthnStore, } from './store.js';
export { WebAuthnService, WebAuthnError, WebAuthnRegistrationError, WebAuthnAuthenticationError, getWebAuthnService, createWebAuthnService, resetWebAuthnService, } from './service.js';
export { webauthnPlugin, createUserContextMiddleware, requireWebAuthnUser, getWebAuthnUser, hasWebAuthnUser, getWebAuthnUserId, } from './middleware.js';
//# sourceMappingURL=index.js.map