declare const SPOT_ENGINE_ABI: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "AddProduct"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountDelta"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteDelta"; readonly type: "int128"; }]; readonly internalType: "struct IProductEngine.ProductDelta[]"; readonly name: "deltas"; readonly type: "tuple[]"; }]; readonly name: "applyDeltas"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountLp"; readonly type: "int128"; }]; readonly name: "burnLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "liquidatee"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "liquidator"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "feeCalculator"; readonly type: "address"; }]; readonly name: "decomposeLps"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalanceAmount"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.LpBalance"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getClearinghouse"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getConfig"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int128"; readonly name: "interestInflectionUtilX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestFloorX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestSmallCapX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestLargeCapX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Config"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getEngineType"; readonly outputs: readonly [{ readonly internalType: "enum IProductEngine.EngineType"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getLpState"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getOrderbook"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getProductIds"; readonly outputs: readonly [{ readonly internalType: "uint32[]"; readonly name: ""; readonly type: "uint32[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getStateAndBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getStatesAndBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.LpBalance"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getWithdrawFee"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "hasBalance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_clearinghouse"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_quote"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_endpoint"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_admin"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_fees"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int128[]"; readonly name: "totalDeposits"; readonly type: "int128[]"; }, { readonly internalType: "int128[]"; readonly name: "totalBorrows"; readonly type: "int128[]"; }]; readonly name: "manualAssert"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountBase"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteAmountLow"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteAmountHigh"; readonly type: "int128"; }]; readonly name: "mintLp"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "socializeSubaccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "baseDelta"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteDelta"; readonly type: "int128"; }]; readonly name: "swapLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly name: "swapLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "txn"; readonly type: "bytes"; }]; readonly name: "updateProduct"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint128"; readonly name: "dt"; readonly type: "uint128"; }]; readonly name: "updateStates"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; export { SPOT_ENGINE_ABI };