/**
 * Adapter System for Redis Optionality
 *
 * This module exports all adapter interfaces and implementations,
 * allowing Vorion to run with either Redis-backed or in-memory
 * implementations of queues, caches, locks, sessions, and rate limiting.
 *
 * Usage:
 * ```typescript
 * import { getAdapterProvider } from './common/adapters';
 *
 * const provider = getAdapterProvider();
 * const cache = provider.getCacheAdapter();
 * await cache.set('key', 'value', 300);
 * ```
 *
 * Or use convenience functions:
 * ```typescript
 * import { getCacheAdapter, getQueueAdapter } from './common/adapters';
 *
 * const cache = getCacheAdapter();
 * const queue = getQueueAdapter('my-queue');
 * ```
 *
 * @packageDocumentation
 */
// =============================================================================
// MEMORY IMPLEMENTATIONS
// =============================================================================
// Queue
export { MemoryQueueAdapter, createMemoryQueueAdapter, } from './memory-queue.js';
// Cache
export { MemoryCacheAdapter, createMemoryCacheAdapter, getMemoryCacheAdapter, resetMemoryCacheAdapter, } from './memory-cache.js';
// Lock
export { MemoryLockAdapter, createMemoryLockAdapter, getMemoryLockAdapter, resetMemoryLockAdapter, } from './memory-lock.js';
// Session
export { MemorySessionStoreAdapter, createMemorySessionStoreAdapter, getMemorySessionStoreAdapter, resetMemorySessionStoreAdapter, } from './memory-session.js';
// Rate Limit
export { MemoryRateLimitAdapter, createMemoryRateLimitAdapter, getMemoryRateLimitAdapter, resetMemoryRateLimitAdapter, } from './memory-ratelimit.js';
// =============================================================================
// PROVIDER
// =============================================================================
export { getAdapterProvider, createAdapterProvider, resetAdapterProvider, 
// Convenience functions
getQueueAdapter, getCacheAdapter, getLockAdapter, getSessionStoreAdapter, getRateLimitAdapter, } from './provider.js';
//# sourceMappingURL=index.js.map