/**
 * 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
 */
export type { QueueJobOptions, JobCounts, Job, JobHandler, IQueueAdapter, ICacheAdapter, LockOptions, LockResult, ILockAdapter, Session, CreateSessionInput, ISessionStoreAdapter, RateLimitResult, IRateLimitAdapter, AdapterHealthStatus, AdapterProvider, } from './types.js';
export { MemoryQueueAdapter, createMemoryQueueAdapter, } from './memory-queue.js';
export { MemoryCacheAdapter, createMemoryCacheAdapter, getMemoryCacheAdapter, resetMemoryCacheAdapter, type MemoryCacheOptions, } from './memory-cache.js';
export { MemoryLockAdapter, createMemoryLockAdapter, getMemoryLockAdapter, resetMemoryLockAdapter, } from './memory-lock.js';
export { MemorySessionStoreAdapter, createMemorySessionStoreAdapter, getMemorySessionStoreAdapter, resetMemorySessionStoreAdapter, type MemorySessionStoreOptions, } from './memory-session.js';
export { MemoryRateLimitAdapter, createMemoryRateLimitAdapter, getMemoryRateLimitAdapter, resetMemoryRateLimitAdapter, type MemoryRateLimitOptions, } from './memory-ratelimit.js';
export { getAdapterProvider, createAdapterProvider, resetAdapterProvider, type AdapterProviderConfig, getQueueAdapter, getCacheAdapter, getLockAdapter, getSessionStoreAdapter, getRateLimitAdapter, } from './provider.js';
//# sourceMappingURL=index.d.ts.map