import { AnyJson, Codec, IHash } from '../types'; /** * @name Base * @description A type extends the Base class, when it holds a value */ export default abstract class Base implements Codec { protected raw: T; constructor(value?: any); /** * @description The length of the value when encoded as a Uint8Array */ readonly encodedLength: number; /** * @description returns a hash of the contents */ readonly hash: IHash; /** * @description Checks if the value is an empty value */ readonly isEmpty: boolean; /** * @description Compares the value of the input to see if there is a match */ eq(other?: any): boolean; /** * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation */ toHex(isLe?: boolean): string; /** * @description Converts the Object to JSON, typically used for RPC transfers */ toJSON(): AnyJson; /** * @description Returns the string representation of the value */ toString(): string; /** * @description Encodes the value as a Uint8Array as per the SCALE specifications * @param isBare true when the value has none of the type-specific prefixes (internal) */ toU8a(isBare?: boolean): Uint8Array; /** * @description Returns the base runtime type name for this instance */ toRawType(): string; }