import { Commitment, CommitmentVerification, EntropyResponse, SignedKey } from './types';
/**
 * A function to check if a commitment is valid. If there are any errors,
 * the appropriate 'ok' property will be set to 'false' but no error will be
 * thrown.
 *
 * You can provide a list of signed keys from https://keys.truestamp.com that were
 * previously saved.
 *
 * @param commitment A commitment object to verify.
 * @param options.keys Force use of a set of keys.
 * @param options.entropyFromHashFunction A function that returns the entropy for a given hash. Useful to pass when using Cloudflare workers service bindings.
 * @returns A promise that resolves to an Object. The top-level `ok` property will be 'true' if the entire proof is verified.
 */
export declare function verify(commitment: Commitment, options?: {
    keys?: SignedKey[];
    entropyFromHashFunction?: ((hash: string) => Promise<EntropyResponse | undefined>) | undefined;
}): Promise<CommitmentVerification>;
/**
 * Offline version of `verify()`.
 *
 * In offline mode, if no keys are provided, the library will attempt to
 * use a backup copy of the keys stored in this library. These backup keys
 * are not guaranteed to be current, but they are the best available option.
 *
 * In offline mode, the library will **not** attempt to verify transactions
 * against the actual on-chain state. It will only verify that the commitment
 * is internally cryptographically sound. Since it does not have access to the
 * on-chain state, it cannot verify or display a timestamp attested to by
 * any transactions in this commitment. You can still use the transaction
 * information provided to manually (with your eyes) verify the transaction
 * against the on-chain state using, for example, a block explorer.

 * @param commitment A commitment object to verify offline.
 * @param options.keys Force use of a set of keys offline.
 * @param options.entropyFromHashFunction A function that returns the entropy for a given hash. Useful to pass when using Cloudflare workers service bindings.
 * @returns A promise that resolves to an Object. The top-level `ok` property will be 'true' if the entire proof is verified offline.
 *
 */
export declare function verifyUnsafelyOffline(commitment: Commitment, options?: {
    keys?: SignedKey[];
    entropyFromHashFunction?: ((hash: string) => Promise<EntropyResponse | undefined>) | undefined;
}): Promise<CommitmentVerification>;
/**
 * Predicate function to check if a commitment is valid and returning true|false. Throws no Errors.
 * @param commitment A commitment object to verify.
 * @param options.keys Force use of a set of keys.
 * @param options.entropyFromHashFunction A function that returns the entropy for a given hash. Useful to pass when using Cloudflare workers service bindings.
 * @returns A promise that resolves to a boolean indicating if the commitment is valid.
 */
export declare function isVerified(commitment: Commitment, options?: {
    keys?: SignedKey[];
    entropyFromHashFunction?: ((hash: string) => Promise<EntropyResponse | undefined>) | undefined;
}): Promise<boolean>;
/**
 * Predicate function to check if a commitment is valid and returning true|false offline. Throws no Errors.
 * @param commitment A commitment object to verify offline.
 * @param options.keys Force use of a set of keys offline.
 * @param options.entropyFromHashFunction A function that returns the entropy for a given hash. Useful to pass when using Cloudflare workers service bindings.
 * @returns A promise that resolves to a boolean indicating if the commitment is valid.
 */
export declare function isVerifiedUnsafelyOffline(commitment: Commitment, options?: {
    keys?: SignedKey[];
    entropyFromHashFunction?: ((hash: string) => Promise<EntropyResponse | undefined>) | undefined;
}): Promise<boolean>;
/**
 * Assert that the commitment is valid. If not, throw an Error.
 * @param commitment A commitment object to verify.
 * @param options.keys Force use of a set of keys.
 * @param options.entropyFromHashFunction A function that returns the entropy for a given hash. Useful to pass when using Cloudflare workers service bindings.
 * @returns A promise that resolves to void when the commitment is valid.
 */
export declare function assertVerified(commitment: Commitment, options?: {
    keys?: SignedKey[];
    entropyFromHashFunction?: ((hash: string) => Promise<EntropyResponse | undefined>) | undefined;
}): Promise<void>;
/**
 * Assert that the commitment is valid offline. If not, throw an Error.
 * @param commitment A commitment object to verify offline.
 * @param options.keys Force use of a set of keys offline.
 * @param options.entropyFromHashFunction A function that returns the entropy for a given hash. Useful to pass when using Cloudflare workers service bindings.
 * @returns A promise that resolves to void when the commitment is valid.
 */
export declare function assertVerifiedUnsafelyOffline(commitment: Commitment, options?: {
    keys?: SignedKey[];
    entropyFromHashFunction?: ((hash: string) => Promise<EntropyResponse | undefined>) | undefined;
}): Promise<void>;
