/** * @import { MultihashDigest } from 'multiformats' * @import { Delegation } from '@ucanto/interface' * @import { AssertLocation } from '@web3-storage/content-claims/capability/api' */ /** * Replicate a stored Blob by digest to the specified number of nodes. * * @param {import('../types.js').InvocationConfig} conf Configuration * for the UCAN invocation. An object with `issuer`, `with` and `proofs`. * * The `issuer` is the signing authority that is issuing the UCAN * invocation(s). It is typically the user _agent_. * * The `with` is the resource the invocation applies to. It is typically the * DID of a space. * * The `proofs` are a set of capability delegations that prove the issuer * has the capability to perform the action. * * The issuer needs the `space/blob/replicate` delegated capability. * @param {object} blob Details of the blob to replicate. * @param {MultihashDigest} blob.digest Hash of the blob. * @param {number} blob.size Total size of the blob in bytes. * @param {Delegation<[AssertLocation]>} site Location commitment describing * where the blob may be retrieved. * @param {number} replicas Total number of replicas to provision. * @param {import('../types.js').RequestOptions} [options] */ export function replicate({ issuer, with: resource, proofs, audience }: import("../types.js").InvocationConfig, blob: { digest: MultihashDigest; size: number; }, site: Delegation<[AssertLocation]>, replicas: number, options?: import("../types.js").RequestOptions): Promise; /** Returns the ability used by an invocation. */ export const ability: "space/blob/replicate"; export function input(blob: { digest: MultihashDigest; size: number; }, site: Delegation<[AssertLocation]>, replicas: number): { blob: { digest: Uint8Array; size: number; }; site: import("@ucanto/interface").UCANLink<[{ can: "assert/location"; with: `did:${string}` & import("multiformats").Phantom<{ protocol: "did:"; }> & `${string}:${string}`; nb: Pick<{ content: import("multiformats").Link | BlobCapabilities.Schema.InferStruct<{ digest: BlobCapabilities.Schema.Schema; }>; location: import("@ucanto/interface").URI<`${string}:`>[]; range: BlobCapabilities.Schema.InferStruct<{ offset: BlobCapabilities.Schema.NumberSchema, unknown>; length: BlobCapabilities.Schema.Schema<(number & import("multiformats").Phantom<{ typeof: "integer"; }>) | undefined, unknown>; }> | undefined; space: import("@ucanto/interface").PrincipalView<`did:${string}:${string}` & `did:${string}` & import("multiformats").Phantom<{ protocol: "did:"; }>> | undefined; }, "content" | "location"> & Partial | BlobCapabilities.Schema.InferStruct<{ digest: BlobCapabilities.Schema.Schema; }>; location: import("@ucanto/interface").URI<`${string}:`>[]; range: BlobCapabilities.Schema.InferStruct<{ offset: BlobCapabilities.Schema.NumberSchema, unknown>; length: BlobCapabilities.Schema.Schema<(number & import("multiformats").Phantom<{ typeof: "integer"; }>) | undefined, unknown>; }> | undefined; space: import("@ucanto/interface").PrincipalView<`did:${string}:${string}` & `did:${string}` & import("multiformats").Phantom<{ protocol: "did:"; }>> | undefined; }, "space" | "range">>; }], import("@ucanto/interface").MulticodecCode, import("@ucanto/interface").SigAlg>; replicas: number; }; import type { MultihashDigest } from 'multiformats'; import type { AssertLocation } from '@web3-storage/content-claims/capability/api'; import type { Delegation } from '@ucanto/interface'; import * as BlobCapabilities from '@storacha/capabilities/space/blob'; //# sourceMappingURL=replicate.d.ts.map