import { ethers } from 'ethers';
import { TonomyToken } from './typechain';
export declare function getProvider(): ethers.Provider;
export declare function ensureBaseTokenDeployed(): Promise<void>;
/**
 * Creates and returns a TonomyToken contract instance with the provider and signer configured from settings
 *
 * @returns {TonomyToken} Configured contract instance
 */
export declare function getBaseTokenContract(signer?: ethers.Signer): TonomyToken;
export declare function getBrowserSigner(): Promise<ethers.Signer | undefined>;
export declare function getSigner(): ethers.Signer | undefined;
/**
 * Verifies that a signature was created by the expected signer.
 * @param {string} message - The original message that was signed
 * @param {string} signature - The signature to verify (from signer.signMessage)
 * @param {string} expectedSigner - The address that should have signed the message
 * @returns {boolean} boolean indicating if the signature is valid and from the expected signer
 */
export declare function verifySignature(message: string, signature: string, expectedSigner: string): {
    result: boolean;
    reason?: string;
};
export declare function createProofMessage(address: string, network: string): string;
export declare function extractProofMessage(message: string): {
    address: string;
    network: string;
    nonce: string;
    timestamp: string;
};
/**
 * Creates a signed proof message
 *
 * @returns {Promise<{ message: string; signature: string }>} The message and signature
 */
export declare function createSignedProofMessage(signer: ethers.Signer): Promise<{
    message: string;
    signature: string;
}>;
export declare function waitForEvmTrxFinalization(txHash: string, confirmations?: number, timeout?: number): Promise<ethers.TransactionReceipt>;
//# sourceMappingURL=index.d.ts.map