import type { WalletConnectionProvider } from '@layerswap/wallet-core/types'; import { type ParadexAccount } from './paradexActiveStore'; export type ParadexAccountMap = { [l1Address: string]: string; }; /** * Owns the persisted L1-address ↔ Paradex-address mapping and the selected * backing account. Pure account bookkeeping — no Paradex SDK access and no * knowledge of how peer providers are wired; callers pass in the provider * snapshots they already hold. */ export declare class ParadexAccountMapper { getAccounts(): ParadexAccountMap; addAccount(payload: { l1Address: string; paradexAddress: string; }): void; removeAccount(l1Address: string): void; getSelectedAccount(): ParadexAccount | undefined; setSelectedAccount(account: ParadexAccount | undefined): void; /** * The Paradex address mapped to an L1 account, or undefined when no valid * mapping exists. The mapping is persisted in localStorage; a * tampered/corrupted entry must never be used to derive the trading * account. Paradex addresses are Starknet field elements (0x + up to 64 * hex chars) — reject anything else and drop the bad entry so it isn't * retried. */ findParadexAddress(l1Account: string, accounts?: ParadexAccountMap): string | undefined; /** * Resolve which L1 account currently backs Paradex: the explicitly * selected account while its wallet is still connected, otherwise the * first connected EVM/Starknet wallet that has a stored Paradex mapping. */ resolveActiveConnection(evmProvider: WalletConnectionProvider, starknetProvider: WalletConnectionProvider): ParadexAccount | undefined; } //# sourceMappingURL=ParadexAccountMapper.d.ts.map