/**
* Active Directory Authentication Module
*
* Enterprise-grade Active Directory integration for React applications.
* Supports Azure AD, Azure AD B2C, AD FS, and on-premises configurations.
*
* @module auth/active-directory
*
* @example
* ```tsx
* // Basic Azure AD setup
* import {
* ADProvider,
* useActiveDirectory,
* createADConfig,
* } from '@/lib/auth/active-directory';
*
* // Create configuration
* const adConfig = createADConfig('azure-ad', {
* tenantId: process.env.AZURE_AD_TENANT_ID,
* clientId: process.env.AZURE_AD_CLIENT_ID,
* redirectUri: window.location.origin,
* });
*
* // Wrap your app
* function App() {
* return (
*
*
*
* );
* }
*
* // Use in components
* function UserProfile() {
* const {
* user,
* isAuthenticated,
* login,
* logout,
* isInGroup,
* hasPermission,
* } = useActiveDirectory();
*
* if (!isAuthenticated) {
* return ;
* }
*
* return (
*
*
Welcome, {user?.displayName}
* {isInGroup('sg-app-admins') &&
}
*
*
* );
* }
* ```
*/
export { ADProvider, ADContext } from './ad-provider';
export type { ADProviderProps } from './ad-provider';
export { useActiveDirectory, useADGroups, useADRoles, useADPermissions, useADAttributes, useADAuth, useADTokens, } from './useActiveDirectory';
export type { UseActiveDirectoryReturn } from './useActiveDirectory';
export { createADConfig, createAzureADConfig, createAzureB2CConfig, createADFSConfig, createOnPremisesConfig, validateADConfig, getAuthorityUrl, getConfiguredScopes, mergeWithGraphScopes, DEFAULT_AZURE_AD_CONFIG, DEFAULT_AZURE_B2C_CONFIG, DEFAULT_ADFS_CONFIG, DEFAULT_ON_PREMISES_CONFIG, DEFAULT_SSO_CONFIG, DEFAULT_GROUP_MAPPING_CONFIG, DEFAULT_AD_CONFIG, DEFAULT_AZURE_AD_SCOPES, GRAPH_GROUP_SCOPES, } from './ad-config';
export type { ConfigValidationResult } from './ad-config';
export { ADClient, createADClient, GraphAPIClientError, GRAPH_ENDPOINTS } from './ad-client';
export { ADGroupMapper, createGroupMapper, mergeGroupMappings, validateGroupMapping, GROUP_MAPPING_PRESETS, } from './ad-groups';
export type { GroupMappingResult } from './ad-groups';
export { ADAttributeMapper, createAttributeMapper, createExtensionMapping, attributeTransformers, attributeValidators, DEFAULT_ATTRIBUTE_MAPPINGS, EXTENDED_ATTRIBUTE_MAPPINGS, HEALTHCARE_ATTRIBUTE_MAPPINGS, } from './ad-attributes';
export type { AttributeMapping, AttributeMappingConfig, AttributeMappingResult, AttributeTransformer, AttributeValidator, } from './ad-attributes';
export { ADTokenHandler, createTokenHandler } from './ad-token-handler';
export type { TokenHandlerOptions, AcquisitionOptions } from './ad-token-handler';
export { SSOManager, createSSOManager, CrossDomainSSO, createCrossDomainSSO } from './ad-sso';
export type { SSOEventType, SSOBroadcastMessage, SSOEventHandler, SSOManagerOptions, } from './ad-sso';
export type { ADProviderType, ADGrantType, ADPromptBehavior, ADConfig, AzureADConfig, AzureADB2CConfig, ADFSConfig, OnPremisesADConfig, ADUser, ADUserAttributes, ADGroup, ADTokens, TokenAcquisitionRequest, TokenRefreshResult, ADGroupRoleMapping, ADGroupMappingConfig, ADAuthState, ADAuthError, ADContextValue, ADLogoutOptions, SSOSession, SSOConfig, GraphAPIRequest, GraphAPIResponse, GraphAPIError, ADAuthEvent, ADAuthEventHandler, ADEventEmitter, } from './types';