import { type Address } from "viem"; import type { LucidlyClient } from "./client.js"; import type { TxResult } from "./types.js"; export declare class TellerModule { private readonly c; constructor(c: LucidlyClient); /** Enable an asset for deposits/withdrawals (OWNER role). */ addAsset(asset: Address | string, teller?: Address): Promise; /** * Public deposit: pulls `amount` of `asset` and mints shares. The depositor must approve the * VAULT (BoringVault.enter does the safeTransferFrom). Pass autoApprove=false to skip approval. */ deposit(asset: Address | string, amount: bigint, opts?: { minMint?: bigint; teller?: Address; vault?: Address; autoApprove?: boolean; }): Promise; /** Instant redemption via the solver path (caller needs SOLVER role). */ withdraw(asset: Address | string, shares: bigint, opts?: { minAssets?: bigint; to?: Address; teller?: Address; }): Promise; /** Read: is this asset enabled for deposits? */ isAssetSupported(asset: Address | string, teller?: Address): Promise; }