/**
 * PIV/CAC Smart Card Authentication Module
 *
 * Comprehensive support for Personal Identity Verification (PIV) and
 * Common Access Card (CAC) smart card authentication.
 *
 * Features:
 * - X.509 certificate authentication
 * - OCSP certificate revocation checking
 * - CRL certificate revocation checking
 * - Certificate-to-user mapping (UPN/SAN)
 * - Card removal session termination
 * - PKCS#11 smart card integration
 * - Fastify middleware and routes
 * - DoD PKI compatibility
 *
 * @example
 * ```typescript
 * import {
 *   pivAuthPlugin,
 *   registerPIVRoutes,
 *   requirePIVAuth,
 *   type PIVCACConfig,
 * } from '@vorionsys/platform-core/auth/piv-cac';
 *
 * // Configure PIV authentication
 * const config: Partial<PIVCACConfig> = {
 *   enabled: true,
 *   trustedCAs: [
 *     { name: 'DoD Root CA', certificate: '...', isRoot: true }
 *   ],
 *   revocationMethod: 'ocsp_with_crl_fallback',
 *   dodPkiCompatibility: true,
 * };
 *
 * // Register plugin
 * await fastify.register(pivAuthPlugin, { config });
 *
 * // Register routes
 * await registerPIVRoutes(fastify, { prefix: '/auth/piv' });
 *
 * // Protect routes
 * fastify.get('/protected', { preHandler: [requirePIVAuth()] }, handler);
 * ```
 *
 * @packageDocumentation
 */
export { CertificateValidationStatus, RevocationCheckMethod, PIVKeyUsage, CertificateMappingStrategy, CardEventType, PIVErrorCode, type X509Extension, type SubjectAltName, type DistinguishedName, type ParsedCertificate, type CertificateChain, type OCSPResponse, type CRLEntry, type CRLData, type CertificateValidationResult, type MappedUserIdentity, type CertificateMappingRule, type CardEvent, type CardSessionBinding, type TrustedCAConfig, type OCSPConfig, type CRLConfig, type PKCS11Config, type CardRemovalPolicy, type PIVCACConfig, type PIVAuthRequest, type PIVAuthResult, type PIVAuthContext, type PIVMiddlewareOptions, certificateValidationStatusSchema, revocationCheckMethodSchema, pivKeyUsageSchema, certificateMappingStrategySchema, cardEventTypeSchema, pivErrorCodeSchema, x509ExtensionSchema, subjectAltNameSchema, distinguishedNameSchema, parsedCertificateSchema, certificateChainSchema, ocspResponseSchema, crlEntrySchema, crlDataSchema, certificateValidationResultSchema, mappedUserIdentitySchema, certificateMappingRuleSchema, cardEventSchema, cardSessionBindingSchema, trustedCAConfigSchema, ocspConfigSchema, crlConfigSchema, pkcs11ConfigSchema, cardRemovalPolicySchema, pivCacConfigSchema, pivAuthRequestSchema, pivAuthResultSchema, pivAuthContextSchema, pivMiddlewareOptionsSchema, DEFAULT_PIVCAC_CONFIG, DOD_PKI_CONFIG, } from './types.js';
export { CertificateAuthService, getCertificateAuthService, createCertificateAuthService, resetCertificateAuthService, parseCertificate, parseCertificateChain, buildCertificateChain, CertificateAuthError, CertificateParseError, CertificateValidationError, } from './certificate-auth.js';
export { OCSPValidator, getOCSPValidator, createOCSPValidator, resetOCSPValidator, OCSPError, OCSPResponderUnavailableError, OCSPResponseError, } from './ocsp-validator.js';
export { CRLValidator, getCRLValidator, createCRLValidator, resetCRLValidator, CRLError, CRLDownloadError, CRLParseError, CRLSizeExceededError, } from './crl-validator.js';
export { CertificateMapper, getCertificateMapper, createCertificateMapper, resetCertificateMapper, DOD_CAC_RULE, PIV_RULE, EMAIL_FALLBACK_RULE, CN_FALLBACK_RULE, DEFAULT_MAPPING_RULES, CertificateMappingError, NoMatchingRuleError, AttributeNotFoundError, } from './certificate-mapper.js';
export { CardRemovalHandler, getCardRemovalHandler, createCardRemovalHandler, resetCardRemovalHandler, SessionState, type CardRemovalEvent, type SessionTerminationEvent, type CardRemovalHandlerEvents, CardRemovalError, SessionNotFoundError, ReauthenticationRequiredError, } from './card-removal-handler.js';
export { PKCS11Provider, getPKCS11Provider, createPKCS11Provider, resetPKCS11Provider, PIV_SLOTS, PKCS11_LIBRARY_PATHS, detectPKCS11Library, type ReaderInfo, type TokenInfo, type SmartCardCertificate, type SignRequest, type PKCS11ProviderEvents, PKCS11Error, LibraryNotFoundError, PINError, CardNotPresentError, } from './pkcs11-provider.js';
export { pivAuthPlugin, pivAuthMiddleware, requirePIVAuth, requireCertificateAttribute, requireEDIPI, getPIVAuth, hasPIVAuth, getPIVUser, getPIVUserId, getCertificateFingerprint, getEDIPI, type PIVAuthServices, type PIVPluginOptions, } from './piv-middleware.js';
export { registerPIVRoutes, pivRoutesPlugin, } from './piv-routes.js';
/**
 * Initialize PIV/CAC authentication services with configuration
 */
export declare function initializePIVAuth(config?: Partial<import('./types.js').PIVCACConfig>): {
    certAuth: any;
    ocspValidator: any;
    crlValidator: any;
    certificateMapper: any;
    cardRemovalHandler: any;
    config: any;
};
/**
 * Reset all PIV/CAC singletons (for testing)
 */
export declare function resetAllPIVServices(): void;
//# sourceMappingURL=index.d.ts.map