import { Call } from 'starknet'; export declare enum ERROR_CODE { CANNOT_EXECUTE_TRANSACTION = 100, CANNOT_EXECUTE_CALL = 101, UNSUPPORTED_CHAIN_ID = 200, PROVIDER_REQUIRED = 400, AMOUNT_NUL = 401, NOT_SUPPORTED_TROVE = 402, NOT_ENOUGHT_LUSD = 403, NOT_ENOUGHT_ETH = 404, APPROVAL_REQUIRED = 405, NOTHING_TO_APPROVE = 406 } export type Token = 'eth' | 'lusd'; export interface TroveOptions { troveAddress: string; oracle: string; eth: string; lusd: string; } export type GetAllowanceProps = { userAddress: string; spender: string; }; export type BuildApproveCallProps = { spenderAddress: string; amount: bigint; }; export type GetAllowanceLiquityRes = { allowanceEth: bigint; allowanceLusd: bigint; }; export type GetUsersInBatchLiquityRes = { borrowList: string[]; repayList: string[]; }; export type GetUserAmountInBatchLiquityProps = { batchNonce: number; userAddress: string; }; export type GetUserAmountInBatchLiquityRes = { borrowAmount: bigint; repayAmount: bigint; }; export type GetUserGasInBatchLiquityProps = { batchNonce: number; userAddress: string; }; export type GetRequiredGasFeeToParticipateCurrrentBatchLiquityProps = { userAddress: string; closeBatch: boolean; }; export type CheckBalanceBorrowLiquityProps = { ethAmount: bigint; gasRequired: bigint; userAddress: string; }; export type CheckBalanceRepayLiquityProps = { lusdAmount: bigint; gasRequired: bigint; userAddress: string; }; export type CheckBalanceRepayLiquityRes = { isEnoughLusd: boolean; isEnoughEth: boolean; }; export type CheckAllowanceBorrowLiquityProps = { ethAmount: bigint; gasRequired: bigint; userAddress: string; }; export type CheckAllowanceRepayLiquityProps = { lusdAmount: bigint; gasRequired: bigint; userAddress: string; }; export type CheckAllowanceRepayLiquityRes = { isEnoughAllowanceLusd: boolean; isEnoughAllowanceEth: boolean; }; export type BuildCallDataApproveBorrowLiquityProps = { ethAmount: bigint; gasRequired: bigint; }; export type BuildCallDataApproveRepayLiquityProps = { lusdAmount: bigint; gasRequired: bigint; isEnoughAllowanceLusd?: boolean; isEnoughAllowanceEth?: boolean; }; export type BuildCallDataApproveRepayLiquityRes = { lusdApproveCall?: Call; ethApproveCall?: Call; }; export type BuildCallDataBorrowLiquityProps = { ethAmount: bigint; gasRequired: bigint; }; export type BuildCallDataRepayLiquityProps = { lusdAmount: bigint; gasRequired: bigint; }; export type HandleBorrowLiquityProps = { ethAmount: bigint; closeBatch?: boolean; allowApprove?: boolean; referral?: string; }; export type HandleBorrowLiquityManualProps = { ethAmount: bigint; gas: bigint; approveEth?: boolean; includesBatch?: boolean; referral?: string; }; export type HandleRepayLiquityProps = { lusdAmount: bigint; closeBatch?: boolean; allowApprove?: boolean; referral?: string; }; export type HandleRepayLiquityManualProps = { lusdAmount: bigint; gas: bigint; approveLusd?: boolean; approveEth?: boolean; includesBatch?: boolean; referral?: string; }; export type HandleBatchLiquityManualProps = { gas: bigint; approveEth?: boolean; referral?: string; };