import type * as API from './link/interface.js'; export * from './link/interface.js'; export declare function format, Prefix extends string>(link: T, base?: API.MultibaseEncoder): API.ToString; export declare function toJSON(link: Link): API.LinkJSON; export declare function fromJSON(json: API.LinkJSON): CID; export declare class CID implements API.Link { readonly code: Format; readonly version: Version; readonly multihash: API.MultihashDigest; readonly bytes: Uint8Array; readonly '/': Uint8Array; /** * @param version - Version of the CID * @param code - Code of the codec content is encoded in, see https://github.com/multiformats/multicodec/blob/master/table.csv * @param multihash - (Multi)hash of the of the content. */ constructor(version: Version, code: Format, multihash: API.MultihashDigest, bytes: Uint8Array); /** * Signalling `cid.asCID === cid` has been replaced with `cid['/'] === cid.bytes` * please either use `CID.asCID(cid)` or switch to new signalling mechanism * * @deprecated */ get asCID(): this; get byteOffset(): number; get byteLength(): number; toV0(): CID; toV1(): CID; equals(other: unknown): other is CID; static equals(self: API.Link, other: unknown): other is CID; toString(base?: API.MultibaseEncoder): string; toJSON(): API.LinkJSON; link(): this; readonly [Symbol.toStringTag] = "CID"; /** * Takes any input `value` and returns a `CID` instance if it was * a `CID` otherwise returns `null`. If `value` is instanceof `CID` * it will return value back. If `value` is not instance of this CID * class, but is compatible CID it will return new instance of this * `CID` class. Otherwise returns null. * * This allows two different incompatible versions of CID library to * co-exist and interop as long as binary interface is compatible. */ static asCID(input: API.Link | U): CID | null; /** * @param version - Version of the CID * @param code - Code of the codec content is encoded in, see https://github.com/multiformats/multicodec/blob/master/table.csv * @param digest - (Multi)hash of the of the content. */ static create(version: Version, code: Format, digest: API.MultihashDigest): CID; /** * Simplified version of `create` for CIDv0. */ static createV0(digest: API.MultihashDigest): CID; /** * Simplified version of `create` for CIDv1. * * @param code - Content encoding format code. * @param digest - Multihash of the content. */ static createV1(code: Code, digest: API.MultihashDigest): CID; /** * Decoded a CID from its binary representation. The byte array must contain * only the CID with no additional bytes. * * An error will be thrown if the bytes provided do not contain a valid * binary representation of a CID. */ static decode(bytes: API.ByteView>): CID; /** * Decoded a CID from its binary representation at the beginning of a byte * array. * * Returns an array with the first element containing the CID and the second * element containing the remainder of the original byte array. The remainder * will be a zero-length byte array if the provided bytes only contained a * binary CID representation. */ static decodeFirst(bytes: API.ByteView>): [CID, Uint8Array]; /** * Inspect the initial bytes of a CID to determine its properties. * * Involves decoding up to 4 varints. Typically this will require only 4 to 6 * bytes but for larger multicodec code values and larger multihash digest * lengths these varints can be quite large. It is recommended that at least * 10 bytes be made available in the `initialBytes` argument for a complete * inspection. */ static inspectBytes(initialBytes: API.ByteView>): { version: V; codec: C; multihashCode: A; digestSize: number; multihashSize: number; size: number; }; /** * Takes cid in a string representation and creates an instance. If `base` * decoder is not provided will use a default from the configuration. It will * throw an error if encoding of the CID is not compatible with supplied (or * a default decoder). */ static parse(source: API.ToString, Prefix>, base?: API.MultibaseDecoder): CID; } declare const DAG_PB_CODE = 112; declare const SHA_256_CODE = 18; //# sourceMappingURL=cid.d.ts.map