import { TransactionResponse } from '@ethersproject/providers'; import { Signer } from 'ethers'; import { ConnectArg, CrocContext } from './context'; import { CrocKnockoutHandle } from './knockout'; import { CrocPoolView } from './pool'; import { CrocPositionView } from './position'; import { CrocSlotReader } from './slots'; import { CrocSwapPlan, CrocSwapPlanOpts } from './swap'; import { TokenQty, CrocTokenView } from './tokens'; export declare class CrocEnv { private conn; constructor(conn: ConnectArg, signer?: Signer); connect(signer: Signer): CrocEnv; buy(token: string, qty: TokenQty, poolIndex: number): BuyPrefix; buyEth(qty: TokenQty, poolIndex: number): BuyPrefix; sell(token: string, qty: TokenQty, poolIndex: number): SellPrefix; sellEth(qty: TokenQty, poolIndex: number): SellPrefix; pool(tokenQuote: string, tokenBase: string, poolIndex: number): CrocPoolView; poolEth(token: string, poolIndex: number): CrocPoolView; poolEthQuote(token: string, poolIndex: number): CrocPoolView; positions(tokenQuote: string, tokenBase: string, owner: string, poolIndex: number): CrocPositionView; token(token: string): CrocTokenView; tokenEth(): CrocTokenView; approveBypassRouter(): Promise; slotReader(): CrocSlotReader; readonly context: Promise; tokens: TokenRepo; } declare class BuyPrefix { constructor(token: string, qty: TokenQty, repo: TokenRepo, poolIndex: number, context: Promise); with(token: string, args?: CrocSwapPlanOpts): CrocSwapPlan; withEth(args?: CrocSwapPlanOpts): CrocSwapPlan; atLimit(token: string, tick: number): CrocKnockoutHandle; readonly token: string; readonly qty: TokenQty; readonly context: Promise; readonly poolIndex: number; repo: TokenRepo; } declare class SellPrefix { constructor(token: string, qty: TokenQty, repo: TokenRepo, poolIndex: number, context: Promise); for(token: string, args?: CrocSwapPlanOpts): CrocSwapPlan; forEth(args?: CrocSwapPlanOpts): CrocSwapPlan; atLimit(token: string, tick: number): CrocKnockoutHandle; readonly token: string; readonly qty: TokenQty; readonly poolIndex: number; readonly context: Promise; repo: TokenRepo; } declare class TokenRepo { constructor(context: Promise); materialize(tokenAddr: string): CrocTokenView; tokenViews: Map; context: Promise; } export {};