// 重新导出核心组件
export { OIDCProvider } from './provider';

// 重新导出类型定义
export type {
    OIDCProviderConfig,
    OIDCClient,
    OIDCUser,
    AuthorizationCode,
    AccessToken,
    RefreshToken,
    IDToken,
    AuthorizationRequest,
    TokenRequest,
    TokenResponse,
    OIDCError,
    DiscoveryDocument,
    UserSession,
    LoginCredentials,
    PasswordValidator,
} from './types';

// 重新导出存储适配器
export type { StorageAdapter } from './storage/adapter';
export { RedisStorageAdapter } from './storage/redis-adapter';

// 重新导出JWT工具
export { JWTUtils } from './utils/jwt';

// 重新导出验证工具
export { ValidationUtils } from './utils/validation';
export { PKCEUtils } from './utils/pkce';

// 重新导出认证相关
export {
    PasswordAuth,
    type AuthenticationResult,
    type PasswordAuthConfig,
    TokenManager,
    SessionManager,
    CookieUtils,
    HtmlTemplates,
    type PageConfig,
    type CookieConfig,
} from './auth';

// 重新导出中间件
export { createOIDCProvider, oidcProvider, getOIDCProvider } from './middleware/hono'; 