// @flow strict export type Version = 0 | 1 export type Codec = string export type CodecCode = number export type Multihash = Uint8Array export type BaseEncodedString = string export type MultibaseName = string declare class CID { constructor(Version, Codec, Multihash, multibaseName?:MultibaseName): void; constructor(Version, CodecCode, Multihash, multibaseName?:MultibaseName): void; constructor(BaseEncodedString): void; constructor(Uint8Array): void; +codec: Codec; +code: CodecCode; +multihash: Multihash; +bytes: Uint8Array; +prefix: Uint8Array; toV0(): CID; toV1(): CID; toBaseEncodedString(base?: string): BaseEncodedString; toString(): BaseEncodedString; toJSON(): { codec: Codec, version: Version, hash: Multihash }; equals(mixed): boolean; static codecs: { [string]: Codec }; static isCID(mixed): boolean; static validateCID(mixed): void; } export default CID export type { CID }