/**
 * API Key Management Module
 *
 * Comprehensive API key management for the Vorion platform including:
 * - Cryptographically secure key generation
 * - Secure storage (hashed keys only)
 * - Timing-safe validation
 * - Scope-based access control
 * - Per-key rate limiting
 * - Key rotation support
 * - Audit logging integration
 *
 * Security Features:
 * - Keys are never stored or logged in raw form
 * - SHA-256 hashing for storage
 * - Timing-safe comparison to prevent timing attacks
 * - IP whitelisting support
 * - Automatic expiration handling
 *
 * @packageDocumentation
 * @module security/api-keys
 */
export { ApiKeyScope, apiKeyScopeSchema, API_KEY_SCOPES, ApiKeyStatus, apiKeyStatusSchema, type ApiKeyRateLimit, apiKeyRateLimitSchema, DEFAULT_API_KEY_RATE_LIMIT, type ApiKey, apiKeySchema, type CreateApiKeyInput, createApiKeyInputSchema, type UpdateApiKeyInput, updateApiKeyInputSchema, type ApiKeyValidationResult, ApiKeyValidationErrorCode, apiKeyValidationResultSchema, type ApiKeyRateLimitState, type ApiKeyRateLimitResult, type ApiKeyCreationResult, type ApiKeyListFilters, apiKeyListFiltersSchema, ApiKeyAuditEventType, type ApiKeyAuditEventType as ApiKeyAuditEventTypeType, type ApiKeyContext, API_KEY_PREFIX, API_KEY_PREFIX_LENGTH, API_KEY_SECRET_LENGTH, API_KEY_PATTERN, } from './types.js';
export { type IApiKeyStore, InMemoryApiKeyStore, getApiKeyStore, createApiKeyStore, resetApiKeyStore, type ApiKeyStoreType, type ApiKeyStoreFactoryOptions, getStoreType, createApiKeyStoreFactory, getApiKeyStoreFactory, resetApiKeyStoreFactory, } from './store.js';
export { DbApiKeyStore, getDbApiKeyStore, createDbApiKeyStore, resetDbApiKeyStore, } from './db-store.js';
export { ApiKeyMetadataCache, type CachedApiKeyMetadata, type CacheInvalidationEvent, type CacheStats, getApiKeyMetadataCache, createApiKeyMetadataCache, resetApiKeyMetadataCache, } from './cache.js';
export { ApiKeyService, ApiKeyError, ApiKeyValidationError, ApiKeyRateLimitError, type ApiKeyServiceDependencies, type IAuditLogger, getApiKeyService, createApiKeyService, resetApiKeyService, } from './service.js';
export { apiKeyMiddleware, requireScopes, requireReadScope, requireWriteScope, requireAdminScope, requireWebhookScope, requireIntegrationScope, apiKeyPlugin, getApiKey, getApiKeyTenantId, hasApiKey, getApiKeyScopes, type ApiKeyMiddlewareOptions, type ScopeRequirementOptions, type ApiKeyPluginOptions, type FastifyMiddleware as ApiKeyFastifyMiddleware, } from './middleware.js';
//# sourceMappingURL=index.d.ts.map