import { useAuth as r, useAuthStatus as T, useAuthOrganization as l, useAuthActions as k, useAuthState as P } from "./use-auth.js";
import { useUser as u, useUserActions as M, useUserVerification as C, useUserProfile as U } from "./use-user.js";
import { useSession as a, useSessionSecurity as c, useSessionExpiry as R, useMultiSession as I, useSessionStatus as _ } from "./use-session.js";
import { useOrganization as d, useOrganizationSwitcher as H, useOrganizationInvitations as E, useOrganizationMembership as v } from "./use-organization.js";
import { useConfig as m, useOrganizationConfiguration as h, useConfigValidation as z, useComponentConfiguration as p, useLocalizationConfig as N, useThemeConfig as L, useFeatureFlags as O } from "./use-config.js";
import { useTheme as g, useThemeStyles as K, useThemeLayout as F, useThemeTypography as b, useThemeColors as G } from "./use-theme.js";
import { usePermissions as s, useOrganizationPermissions as A, usePermissionGuard as x, useSystemPermissions as D } from "./use-permissions.js";
import { ORGANIZATION_ROLES as Ce, PERMISSION_ACTIONS as Ue, PERMISSION_RESOURCES as Re, SYSTEM_ROLES as Ie } from "./use-permissions.js";
import { useMFA as i, useBackupCodes as j, useSMSMFA as w, useTOTP as V } from "./use-mfa.js";
import { MFA_METHOD_CONFIGS as He } from "./use-mfa.js";
import { usePasskeys as n, usePasskeyAuthentication as Z, usePasskeyRegistration as B } from "./use-passkeys.js";
import { useOAuth as f, useOAuthCallback as Y, useOAuthProvider as W } from "./use-oauth.js";
import { OAUTH_PROVIDERS as ve } from "./use-oauth.js";
import { useMagicLink as S, useMagicLinkPasswordReset as q, useMagicLinkVerification as J, useMagicLinkSignIn as Q } from "./use-magic-link.js";
import { MAGIC_LINK_CONFIG as Ne } from "./use-magic-link.js";
const X = {
  useAuth: r,
  useUser: u,
  useSession: a,
  useOrganization: d,
  useConfig: m,
  useTheme: g,
  usePermissions: s
}, $ = {
  useMFA: i,
  usePasskeys: n,
  useOAuth: f,
  useMagicLink: S
}, ee = {
  // Auth specialized
  useAuthState: P,
  useAuthActions: k,
  useAuthOrganization: l,
  useAuthStatus: T,
  // User specialized
  useUserProfile: U,
  useUserVerification: C,
  useUserActions: M,
  // Session specialized
  useSessionStatus: _,
  useMultiSession: I,
  useSessionSecurity: c,
  useSessionExpiry: R,
  // Organization specialized
  useOrganizationMembership: v,
  useOrganizationInvitations: E,
  useOrganizationSwitcher: H,
  // Config specialized
  useFeatureFlags: O,
  useThemeConfig: L,
  useLocalizationConfig: N,
  useOrganizationConfiguration: h,
  useComponentConfiguration: p,
  useConfigValidation: z,
  // Theme specialized
  useThemeColors: G,
  useThemeTypography: b,
  useThemeLayout: F,
  useThemeStyles: K,
  // Permission specialized
  useOrganizationPermissions: A,
  useSystemPermissions: D,
  usePermissionGuard: x,
  // MFA specialized
  useTOTP: V,
  useSMSMFA: w,
  useBackupCodes: j,
  // Passkeys specialized
  usePasskeyRegistration: B,
  usePasskeyAuthentication: Z,
  // OAuth specialized
  useOAuthProvider: W,
  useOAuthCallback: Y,
  // Magic link specialized
  useMagicLinkSignIn: Q,
  useMagicLinkVerification: J,
  useMagicLinkPasswordReset: q
}, oe = {
  useAuth: r,
  useOAuth: f,
  useMagicLink: S,
  usePasskeys: n,
  useMFA: i
}, te = {
  useUser: u,
  useSession: a,
  usePermissions: s
}, se = {
  useOrganization: d,
  useOrganizationPermissions: A,
  useOrganizationConfiguration: h
}, ie = {
  useTheme: g,
  useConfig: m,
  useFeatureFlags: O,
  useComponentConfiguration: p
}, ne = {
  usePermissions: s,
  useMFA: i,
  usePasskeys: n,
  useSessionSecurity: c
};
function re() {
  return [
    ...Object.values(X),
    ...Object.values($),
    ...Object.values(ee)
  ];
}
const ue = {
  authentication: oe,
  userManagement: te,
  organization: se,
  uiCustomization: ie,
  security: ne
};
function ye(e) {
  return ue[e];
}
function Te(e) {
  return re().some((t) => t.name === e);
}
const y = {
  // Core hooks
  useAuth: {
    description: "Main authentication hook providing access to auth state and methods",
    category: "core",
    dependencies: ["AuthProvider"],
    returnType: "UseAuthReturn"
  },
  useUser: {
    description: "User management hook for profile operations and verification",
    category: "core",
    dependencies: ["AuthProvider"],
    returnType: "UseUserReturn"
  },
  useSession: {
    description: "Session management hook for multi-session and security features",
    category: "core",
    dependencies: ["AuthProvider"],
    returnType: "UseSessionReturn"
  },
  useOrganization: {
    description: "Organization management hook for multi-tenant operations",
    category: "core",
    dependencies: ["AuthProvider"],
    returnType: "UseOrganizationReturn"
  },
  useConfig: {
    description: "Configuration hook for UI settings and feature flags",
    category: "core",
    dependencies: ["ConfigProvider"],
    returnType: "UseConfigReturn"
  },
  useTheme: {
    description: "Theme management hook for styling and customization",
    category: "core",
    dependencies: ["ThemeProvider"],
    returnType: "UseThemeReturn"
  },
  usePermissions: {
    description: "Permission and authorization hook for role-based access control",
    category: "security",
    dependencies: ["AuthProvider"],
    returnType: "UsePermissionsReturn"
  },
  useMFA: {
    description: "Multi-factor authentication hook for TOTP, SMS, and other MFA methods",
    category: "security",
    dependencies: ["AuthProvider"],
    returnType: "UseMFAReturn"
  },
  usePasskeys: {
    description: "Passkeys (WebAuthn) hook for passwordless authentication",
    category: "authentication",
    dependencies: ["AuthProvider"],
    returnType: "UsePasskeysReturn"
  },
  useOAuth: {
    description: "OAuth authentication hook for social sign-in providers",
    category: "authentication",
    dependencies: ["AuthProvider"],
    returnType: "UseOAuthReturn"
  },
  useMagicLink: {
    description: "Magic link authentication hook for passwordless email authentication",
    category: "authentication",
    dependencies: ["AuthProvider"],
    returnType: "UseMagicLinkReturn"
  }
};
function le(e) {
  return y[e];
}
function ke(e) {
  return Object.entries(y).filter(([o, t]) => t.category === e).map(([o]) => o);
}
export {
  oe as AUTHENTICATION_HOOKS,
  $ as AUTH_METHOD_HOOKS,
  X as CORE_AUTH_HOOKS,
  y as HOOK_METADATA,
  Ne as MAGIC_LINK_CONFIG,
  He as MFA_METHOD_CONFIGS,
  ve as OAUTH_PROVIDERS,
  se as ORGANIZATION_HOOKS,
  Ce as ORGANIZATION_ROLES,
  Ue as PERMISSION_ACTIONS,
  Re as PERMISSION_RESOURCES,
  ne as SECURITY_HOOKS,
  ee as SPECIALIZED_HOOKS,
  Ie as SYSTEM_ROLES,
  ie as UI_CUSTOMIZATION_HOOKS,
  te as USER_MANAGEMENT_HOOKS,
  r as default,
  re as getAllHooks,
  le as getHookMetadata,
  ye as getHooksByCategory,
  ke as getHooksByMetadataCategory,
  Te as isHookAvailable,
  r as useAuth,
  k as useAuthActions,
  l as useAuthOrganization,
  P as useAuthState,
  T as useAuthStatus,
  j as useBackupCodes,
  p as useComponentConfiguration,
  m as useConfig,
  z as useConfigValidation,
  O as useFeatureFlags,
  N as useLocalizationConfig,
  i as useMFA,
  S as useMagicLink,
  q as useMagicLinkPasswordReset,
  Q as useMagicLinkSignIn,
  J as useMagicLinkVerification,
  I as useMultiSession,
  f as useOAuth,
  Y as useOAuthCallback,
  W as useOAuthProvider,
  d as useOrganization,
  h as useOrganizationConfiguration,
  E as useOrganizationInvitations,
  v as useOrganizationMembership,
  A as useOrganizationPermissions,
  H as useOrganizationSwitcher,
  Z as usePasskeyAuthentication,
  B as usePasskeyRegistration,
  n as usePasskeys,
  x as usePermissionGuard,
  s as usePermissions,
  w as useSMSMFA,
  a as useSession,
  R as useSessionExpiry,
  c as useSessionSecurity,
  _ as useSessionStatus,
  D as useSystemPermissions,
  V as useTOTP,
  g as useTheme,
  G as useThemeColors,
  L as useThemeConfig,
  F as useThemeLayout,
  K as useThemeStyles,
  b as useThemeTypography,
  u as useUser,
  M as useUserActions,
  U as useUserProfile,
  C as useUserVerification
};
//# sourceMappingURL=index.js.map
