import { type Libp2pFlatSqlSyncBackendOptions, type Libp2pFlatSqlSyncClient } from './sdn-backend-libp2p-sync'; import type { FlatSqlPublishedShard, FlatSqlPublishedShardBatch, FlatSqlSyncChunk, FlatSqlSyncManifest, FlatSqlSyncQuery, FlatSqlWireSpeedProbeQuery, FlatSqlWireSpeedProbeResult } from '../../flatsql-sync'; import type { SdnBackend } from './sdn-backend'; type Libp2pFlatSqlSyncClientFactory = (options: Libp2pFlatSqlSyncBackendOptions) => Promise; export declare class Libp2pFlatSqlSyncBackendCache { private readonly clientFactory; private readonly clientPromises; private readonly publishedShardClientPools; private readonly publishedShardClientIndexes; private readonly publishedShardSourceStats; private readonly backends; constructor(clientFactory?: Libp2pFlatSqlSyncClientFactory); backendFor(options: Libp2pFlatSqlSyncBackendOptions): SdnBackend; readFlatSqlSyncChunk(options: Libp2pFlatSqlSyncBackendOptions, query: FlatSqlSyncQuery): Promise; openFlatSqlSyncManifest(options: Libp2pFlatSqlSyncBackendOptions, query: FlatSqlSyncQuery): Promise; readFlatSqlPublishedShard(options: Libp2pFlatSqlSyncBackendOptions, query: FlatSqlSyncQuery & { cid: string; }): Promise; readFlatSqlPublishedShardFromSources(sources: Libp2pFlatSqlSyncBackendOptions[], query: FlatSqlSyncQuery & { cid: string; }, preferredSourceIndex?: number): Promise; readFlatSqlPublishedShardBatch(options: Libp2pFlatSqlSyncBackendOptions, query: FlatSqlSyncQuery & { cids: string[]; }): Promise; readFlatSqlPublishedShardBatchFromSources(sources: Libp2pFlatSqlSyncBackendOptions[], query: FlatSqlSyncQuery & { cids: string[]; }, preferredSourceIndex?: number): Promise; measureWireSpeed(options: Libp2pFlatSqlSyncBackendOptions, query: Omit): Promise; releaseControlClient(options: Libp2pFlatSqlSyncBackendOptions): Promise; destroy(): Promise; private clientFor; private publishedShardClientFor; } export {}; //# sourceMappingURL=libp2p-sync-backend-cache.d.ts.map