import { TransactionResponse } from "ethers"; import { CrocContext } from "./context"; import { BlockTag } from "./position"; export type TokenQty = bigint | string | number; export declare class CrocTokenView { constructor(context: Promise, tokenAddr: string); approve(approveQty?: TokenQty): Promise; approveRouter(approveQty?: TokenQty): Promise; approveAddr(addr: string, approveQty?: TokenQty): Promise; approveBypassRouter(): Promise; wallet(address: string, block?: BlockTag): Promise; walletDisplay(address: string, block?: BlockTag): Promise; balance(address: string, block?: BlockTag): Promise; balanceDisplay(address: string, block?: BlockTag): Promise; allowance(address: string, spender?: string): Promise; roundQty(qty: TokenQty): Promise; private truncFraction; normQty(qty: TokenQty): Promise; toDisplay(qty: TokenQty): Promise; private resolve; private resolveWrite; deposit(qty: TokenQty, recv: string): Promise; withdraw(qty: TokenQty, recv: string): Promise; transfer(qty: TokenQty, recv: string): Promise; private surplusOp; readonly tokenAddr: string; readonly context: Promise; readonly decimals: Promise; readonly isNativeEth: boolean; } export declare class CrocEthView extends CrocTokenView { constructor(context: Promise); msgValOverSurplus(ethNeeded: bigint): Promise; } export declare function sortBaseQuoteViews(tokenA: CrocTokenView, tokenB: CrocTokenView): [ CrocTokenView, CrocTokenView ];