UNPKG

@helia/remote-pinning

Version:
29 lines 1.69 kB
import { CID } from 'multiformats/cid'; import type { HeliaRemotePinnerInit, RemoteAddOptions, RemoteIsPinnedOptions, RemoteLsOptions, RemotePin, RemotePins } from './index.js'; import type { RemotePinningServiceClient } from '@ipfs-shipyard/pinning-service-client'; import type { AbortOptions, Libp2p } from '@libp2p/interface'; import type { HeliaLibp2p, RmOptions } from 'helia'; import type { Version } from 'multiformats/cid'; export declare class HeliaRemotePins<T extends Libp2p = Libp2p> implements RemotePins { #private; private readonly helia; private readonly remotePinningClient; private readonly originFilter; private readonly delegateFilter; private readonly pollInterval; constructor(helia: HeliaLibp2p<T>, remotePinningClient: RemotePinningServiceClient, init?: HeliaRemotePinnerInit); /** * When starting a pinning operation the remote pinning service can send us a * list of nodes to which it will delegate the fetching of data. * * We need to dial them for the pinning operation to complete. */ private connectToDelegates; add(cid: CID, options?: RemoteAddOptions): AsyncGenerator<CID>; rm(cid: CID, options?: RmOptions): AsyncGenerator<CID, void, undefined>; ls(options?: RemoteLsOptions): AsyncGenerator<RemotePin, void, undefined>; get(cid: CID<unknown, number, number, Version>, options?: AbortOptions): Promise<RemotePin>; setMetadata(cid: CID<unknown, number, number, Version>, metadata: Record<string, string> | undefined, options?: AbortOptions): Promise<void>; isPinned(cid: CID, options?: RemoteIsPinnedOptions): Promise<boolean>; } //# sourceMappingURL=helia-remote-pins.d.ts.map