import { AbstractKey } from "unicrypto"; import { AnnotatedKey } from "./AnnotatedKey"; export declare function encode64Compact(data: Uint8Array): string; /** * compare most keys used in Universa and parsec for equality. This is different from key matching, for example, * public and private key from the same pair __are matching but not equal__. Be careful. * * Also, it properly compares ant consider equal keys when one is wrapped in AnnotatedKey. E.g AbstractKey is * equal to [AnnotatedKey] when its the [AnnotatedKey.key] is equal to AnnotatedKey. * * @return true if keys are equal. */ export declare function equalKeys(k1: AbstractKey | AnnotatedKey, k2: AbstractKey | AnnotatedKey): boolean; /** * Checks that "obj == {}" in a right manner. * @param obj to test for emptiness * @return true if object _has no keys_. Note that object with keys set to undefined is not considered empty. */ export declare function isEmptyObject(obj: any): boolean; /** * Extended emptiness check that correctly works with regular objects `{}` and Map instances as well. The empty * map is not, technically, an empty object, though in some browsers its Object.keys returns empty array, so use * this function instead. * @param obj object to check for emptiness. * @return true if object has no key or is an instance of the empty map */ export declare function isEmptyObjectOrMap(obj: any): boolean;