import type Web3Type from 'web3';
export declare function hashAndSign(input: string, privateKey: string): Promise<string>;
interface WalletResponse {
    signature: string;
    signer: string;
}
/**
 * Recover the public wallet address given the response contains the signature and timestamp
 * @param {object} response entire service provider response (not axios)
 */
export declare function recoverWallet(web3: Web3Type, response: WalletResponse): string | null;
type ValueOrArray<T> = undefined | string | number | T | Array<ValueOrArray<T>>;
type SortObject = ValueOrArray<Record<string, string | number>>;
/**
 * Recursively sorts object keys alphabetically
 */
export declare function sortObjectKeys(x: SortObject): SortObject;
export {};
