import { AbstractSession } from '@helia/utils'; import type { BitswapWantProgressEvents } from './index.ts'; import type { Network } from './network.ts'; import type { WantList } from './want-list.ts'; import type { BlockRetrievalOptions, CreateSessionOptions } from '@helia/interface'; import type { ComponentLogger, Libp2p, PeerId, AbortOptions } from '@libp2p/interface'; import type { Multiaddr } from '@multiformats/multiaddr'; import type { CID } from 'multiformats/cid'; export interface BitswapSessionComponents { network: Network; wantList: WantList; logger: ComponentLogger; libp2p: Libp2p; } interface ProviderPeer { peerId: PeerId; routing: string; toString(): string; } declare class BitswapSession extends AbstractSession { readonly name = "bitswap-session"; private readonly wantList; private readonly network; private readonly libp2p; constructor(components: BitswapSessionComponents, init: CreateSessionOptions); queryProvider(cid: CID, provider: ProviderPeer, options: AbortOptions): Promise; findNewProviders(cid: CID, options?: AbortOptions): AsyncGenerator; toFilterKey(provider: ProviderPeer): Uint8Array | string; equals(providerA: ProviderPeer, providerB: ProviderPeer): boolean; convertToProvider(provider: PeerId | Multiaddr | Multiaddr[], routing: string, options?: AbortOptions): Promise; emitFoundProviderProgressEvent(cid: CID, provider: ProviderPeer, options: BlockRetrievalOptions): void; } export declare function createBitswapSession(components: BitswapSessionComponents, init: CreateSessionOptions): BitswapSession; export {}; //# sourceMappingURL=session.d.ts.map