/**
 * Request deduplication utility
 * Manages pending requests to prevent concurrent duplicate requests
 */
export declare class RequestDeduplicator {
    private pendingRequests;
    /**
     * Execute a request with deduplication
     * If a request with the same key is already pending, return the existing promise
     * Otherwise, execute the request factory and track the promise
     */
    executeRequest<T>(key: string, requestFactory: () => Promise<T>): Promise<T>;
    /**
     * Clear all pending requests (used in cache clearing)
     */
    clear(): void;
    /**
     * Get number of pending requests
     */
    getPendingCount(): number;
    /**
     * Check if a request is pending
     */
    isPending(key: string): boolean;
    /**
     * Get all pending request keys
     */
    getPendingKeys(): string[];
}
