import type { AbortOptions, ComponentLogger, Metrics, PeerId } from '@libp2p/interface'; import type { Datastore } from 'interface-datastore'; import type { CID } from 'multiformats'; export interface ProvidersInit { logPrefix: string; datastorePrefix: string; } export interface ProvidersComponents { datastore: Datastore; logger: ComponentLogger; metrics?: Metrics; } /** * Provides a mechanism to add and remove provider records from the datastore */ export declare class Providers { private readonly log; private readonly datastore; private readonly datastorePrefix; constructor(components: ProvidersComponents, init: ProvidersInit); /** * Add a new provider for the given CID */ addProvider(cid: CID, provider: PeerId, options?: AbortOptions): Promise; /** * Remove a provider for the given CID */ removeProvider(cid: CID, provider: PeerId, options?: AbortOptions): Promise; /** * Get a list of providers for the given CID */ getProviders(cid: CID, options?: AbortOptions): Promise; /** * Write a provider into the given store */ private writeProviderEntry; /** * Load providers for the given CID from the store */ private loadProviders; } //# sourceMappingURL=providers.d.ts.map