import { generatePrivateKey, privateKeyToPublicKey, publicKeyToAddress, privateKeyToWIF, wifToPrivateKey, addressToHash160, isValidAddress } from '../crypto/keys'; import { BitokRpc } from '../rpc/api'; import { UTXO } from '../types/transaction'; import { bitokToSatoshis, satoshisToBitok } from '../tx/builder'; export interface KeyPair { privateKeyHex: string; privateKeyWIF: string; publicKeyHex: string; address: string; hash160: string; } export declare function generateKeyPair(): KeyPair; export declare function deriveKeyPair(privateKey: Uint8Array): KeyPair; export declare function importFromWIF(wif: string): KeyPair; export declare function validateAddress(address: string): { valid: boolean; hash160?: string; error?: string; }; export declare class Wallet { private keyPair; constructor(keyPair?: KeyPair); static generate(): Wallet; static fromWIF(wif: string): Wallet; static fromPrivateKeyHex(hex: string): Wallet; get address(): string; get privateKeyWIF(): string; get publicKeyHex(): string; get privateKeyHex(): string; get hash160Hex(): string; getBalance(rpc: BitokRpc): Promise; getUTXOs(rpc: BitokRpc): Promise; send(rpc: BitokRpc, toAddress: string, amountSatoshis: bigint, feeSatoshis?: bigint): Promise; exportBackup(): { address: string; wif: string; publicKey: string; }; } export { generatePrivateKey, privateKeyToPublicKey, publicKeyToAddress, privateKeyToWIF, wifToPrivateKey, addressToHash160, isValidAddress, bitokToSatoshis, satoshisToBitok, }; //# sourceMappingURL=index.d.ts.map