import { CanonicalHash, CommitmentData, Item, ItemData, SignedKey, UnsignedKey, EntropyResponse } from './types';
/**
 * Default function to fetch the current JSON string value for an Observable Entropy hash.
 * In some cases this function will be replaced with a custom function. For example, if the
 * function needs to be called against a Cloudflare worker service binding.
 */
export declare function getEntropyFromHash(hash: string): Promise<EntropyResponse | undefined>;
export declare function timestampMicrosecondsToISO(timestamp: string | bigint): string;
/**
 * For a given public key, calculate its handle.
 * @param publicKey The public key to calculate the handle for
 * @return The public key's handle
 */
export declare function getHandleForPublicKey(publicKey: Uint8Array): string;
/**
 * Attempt to receive a single key from a public key server identified by a handle.
 * @param handle The handle of the key to retrieve
 * @param keys An optional array of keys that override web lookup and public keys baked into this library.
 * @return The key associated with the handle, or undefined if not found
 */
export declare function getKeyByHandle(handle: string, keys?: SignedKey[]): Promise<SignedKey | undefined>;
/**
 * For a given public key, calculate its handle, look it up on a public key server
 * and verify that the key associated with the handle matches the public key passed in.
 * @param publicKey The public key to verify is authoritatively published
 * @param keys An optional array of keys that override web lookup and public keys baked into this library.
 * @return A boolean indicating whether the public key is known and authentic.
 */
export declare function publicKeyMatchesKnownPublicKey(publicKey: Uint8Array, keys?: SignedKey[]): Promise<boolean>;
/**
 * Canonicalize a Struct and return the sha-256 'hash' and 'hashType' of the canonicalized Struct
 * @param data The data to canonicalize
 * @return The canonicalized data
 */
export declare function canonicalizeAndHashData(data: Item | ItemData[] | CommitmentData | UnsignedKey): CanonicalHash;
