/**
 * Performance Services Package
 * Optimizations for caching, message batching, and offline queue management.
 */
export { type CacheEntry, type CacheStats, type CacheOptions, LRUCache, QueryCache, PlayerDataCache, getQueryCache, getPlayerDataCache, getGeneralCache, memoize, memoizeSync, clearAllCaches, getAllCacheStats, logCacheStats, cacheService, } from './cache.js';
export { type MessagePriority, type QueuedMessage, type BatchedPayload, type BatchStats, type BatchOptions, MessageBatcher, BatchMessageManager, getBatchMessageManager, sendBatchedMessage, sendImmediateMessage, flushPlayerMessages, deduplicateBatch, mergeBatch, logBatchStats, batchMessagingService, } from './batchMessaging.js';
export { type QueuedEvent, type OfflineQueueStats, type ReconnectInfo, type IterateGamesOptions, OfflineEventQueue, getOfflineQueue, handlePlayerDisconnect, handlePlayerReconnect, replayEvents, iterateGames, registerOfflineQueueJobs, offlineQueueService, } from '../background/offline_queue.js';
/**
 * Combined performance service for easy access to all performance utilities.
 */
export declare const performanceService: {
    cache: {
        LRUCache: typeof import("./cache.js").LRUCache;
        QueryCache: typeof import("./cache.js").QueryCache;
        PlayerDataCache: typeof import("./cache.js").PlayerDataCache;
        getQueryCache: typeof import("./cache.js").getQueryCache;
        getPlayerDataCache: typeof import("./cache.js").getPlayerDataCache;
        getGeneralCache: typeof import("./cache.js").getGeneralCache;
        memoize: typeof import("./cache.js").memoize;
        memoizeSync: typeof import("./cache.js").memoizeSync;
        clearAllCaches: typeof import("./cache.js").clearAllCaches;
        getAllCacheStats: typeof import("./cache.js").getAllCacheStats;
        logCacheStats: typeof import("./cache.js").logCacheStats;
    };
    batching: {
        MessageBatcher: typeof import("./batchMessaging.js").MessageBatcher;
        BatchMessageManager: typeof import("./batchMessaging.js").BatchMessageManager;
        getBatchMessageManager: typeof import("./batchMessaging.js").getBatchMessageManager;
        sendBatchedMessage: typeof import("./batchMessaging.js").sendBatchedMessage;
        sendImmediateMessage: typeof import("./batchMessaging.js").sendImmediateMessage;
        flushPlayerMessages: typeof import("./batchMessaging.js").flushPlayerMessages;
        deduplicateBatch: typeof import("./batchMessaging.js").deduplicateBatch;
        mergeBatch: typeof import("./batchMessaging.js").mergeBatch;
        logBatchStats: typeof import("./batchMessaging.js").logBatchStats;
    };
    offlineQueue: {
        OfflineEventQueue: typeof import("./index.js").OfflineEventQueue;
        getOfflineQueue: typeof import("./index.js").getOfflineQueue;
        handlePlayerDisconnect: typeof import("./index.js").handlePlayerDisconnect;
        handlePlayerReconnect: typeof import("./index.js").handlePlayerReconnect;
        replayEvents: typeof import("./index.js").replayEvents;
        iterateGames: typeof import("./index.js").iterateGames;
        registerOfflineQueueJobs: typeof import("./index.js").registerOfflineQueueJobs;
    };
    /**
     * Log all performance statistics.
     */
    logAllStats(): void;
    /**
     * Clear all caches and reset statistics.
     */
    reset(): void;
};
//# sourceMappingURL=index.d.ts.map