/** * Class representing a CID `` * , as defined in [ipld/cid](https://github.com/multiformats/cid). */ declare class CID { /** * Create a new CID. * * The algorithm for argument input is roughly: * ``` * if (cid) * -> create a copy * else if (str) * if (1st char is on multibase table) -> CID String * else -> bs58 encoded multihash * else if (Buffer) * if (1st byte is 0 or 1) -> CID * else -> multihash * else if (Number) * -> construct CID by parts * ``` * * @example * new CID(, , , ) * new CID() * new CID() * new CID() * new CID() * new CID() */ constructor( version: 0 | 1, codec: string, multhash: Buffer, multibaseName?: string ); constructor(cid: CID); constructor(str: string); constructor(buf: Buffer); /** * The version of the CID. */ version: number; /** * The codec of the CID. */ codec: string; /** * The multihash of the CID. */ multihash: Buffer; /** * Multibase name as string. */ multibaseName: string; /** * The CID as a `Buffer` */ readonly buffer: Buffer; /** * The prefix of the CID. */ readonly prefix: Buffer; /** * Convert to a CID of version `0`. */ toV0(): CID; /** * Convert to a CID of version `1`. */ toV1(): CID; /** * Encode the CID into a string. * * @param base Base encoding to use. */ toBaseEncodedString(base?: string): string; /** * Encode the CID into a string. */ toString(base?: string): string; /** * Serialize to a plain object. */ toJSON(): { codec: string; version: 0 | 1; hash: Buffer }; /** * Compare equality with another CID. * * @param other The other CID. */ equals(other: any): boolean; /** * Test if the given input is a valid CID object. * Throws if it is not. * * @param other The other CID. */ static validateCID(other: any): void; static isCID(mixed: any): boolean; static codecs: Record; } export = CID