import { WalletClient, PublicClient, Hex } from "viem"; import { Balance, ChainWalletConfig, TransactionResult } from "../types"; import { Account } from "viem/accounts"; export declare class BaseSavingsManager { private mnemonic; private walletIndex; chain: ChainWalletConfig; private _client?; private pockets; masterAddress: Hex | undefined; constructor(mnemonic: string, walletIndex: number | undefined, chain: ChainWalletConfig, masterAddress?: Hex); get client(): PublicClient; clearClient(): void; private derivePocket; getMainWallet(): { privateKey: string; address: string; derivationPath: string; }; getMainWalletAddress(): Hex; getPocket(accountIndex: number): { privateKey: string; address: string; derivationPath: string; index: number; }; transferToPocket(mainWallet: WalletClient, pocketIndex: number, amount: string): Promise; transferTokenToPocket(mainWallet: WalletClient, tokenAddress: string, pocketIndex: number, amount: bigint): Promise; verifyPocketAddress(accountIndex: number, storedAddress: string): boolean; accountFromPocketId(p: number): Account; clearPocket(accountIndex: number): void; clearAllPockets(): void; dispose(): void; } export declare class SavingsManager extends BaseSavingsManager { constructor(mnemonic: string, chain: ChainWalletConfig, walletIndex?: number); getTotalTokenBalanceOfAllPockets(tokens: string[], pockets: number[]): Promise>; getPocketTokenBalance(tokens: string[], pocket: number): Promise<{ address: Hex | 'native'; balance: Balance; }[]>; sendToMainWallet(pocketIndex: number, amount: bigint, token: Hex | "native"): Promise; }