import { AddCollateralOp, DecreaseDebtOp, IncreaseDebtOp, UpdateQuotaOp, WithdrawCollateralOp } from "../onchain/preview/parse/types-facades.js"; import { AdapterOperation, CloseCreditAccountOperation, CreditAccountOperation, DirectTokenTransferOperation, HistoryFacadeMetadata, LiquidateCreditAccountOperation, MulticallOperation, OpenCreditAccountOperation, PartialLiquidationOperation } from "./types.js"; //#region src/history/mapOperations.d.ts /** * Visitor that maps each operation node in a {@link CreditAccountOperation} * tree to a new representation. * */ export interface OperationVisitor { Execute(op: AdapterOperation, ctx: HistoryFacadeMetadata): TInner; IncreaseBorrowedAmount(op: IncreaseDebtOp, ctx: HistoryFacadeMetadata): TInner; DecreaseBorrowedAmount(op: DecreaseDebtOp, ctx: HistoryFacadeMetadata): TInner; AddCollateral(op: AddCollateralOp, ctx: HistoryFacadeMetadata): TInner; WithdrawCollateral(op: WithdrawCollateralOp, ctx: HistoryFacadeMetadata): TInner; UpdateQuota(op: UpdateQuotaOp, ctx: HistoryFacadeMetadata): TInner; DirectTokenTransfer(op: DirectTokenTransferOperation): TOuter; MultiCall(op: MulticallOperation, multicall: TInner[]): TOuter; OpenCreditAccount(op: OpenCreditAccountOperation, multicall: TInner[]): TOuter; CloseCreditAccount(op: CloseCreditAccountOperation, multicall: TInner[]): TOuter; LiquidateCreditAccount(op: LiquidateCreditAccountOperation, multicall: TInner[]): TOuter; PartiallyLiquidateCreditAccount(op: PartialLiquidationOperation): TOuter; } /** * Walks a list of {@link CreditAccountOperation}s, mapping each node via the * given visitor */ export declare function mapOperations(ops: CreditAccountOperation[], visitor: OperationVisitor): TOuter[]; //#endregion