import * as _ton_ton from '@ton/ton'; import { Cell, ContractProvider, SenderArguments, Sender } from '@ton/ton'; import { AddressType, QueryIdType, AmountType } from '../../../../types.js'; import { Contract, ContractOptions } from '../../../core/Contract.js'; import { DEX_VERSION } from '../../constants.js'; interface LpAccountV2_1Options extends ContractOptions { gasConstants?: Partial; } declare class LpAccountV2_1 extends Contract { static readonly version: DEX_VERSION; static readonly gasConstants: { refund: bigint; directAddLp: bigint; resetGas: bigint; }; readonly gasConstants: { refund: bigint; directAddLp: bigint; resetGas: bigint; }; constructor(address: AddressType, { gasConstants, ...options }?: LpAccountV2_1Options); createRefundBody(params?: { leftMaybePayload?: Cell; rightMaybePayload?: Cell; queryId?: QueryIdType; }): Promise; getRefundTxParams(provider: ContractProvider, params?: { leftMaybePayload?: Cell; rightMaybePayload?: Cell; gasAmount?: AmountType; queryId?: QueryIdType; }): Promise; sendRefund(provider: ContractProvider, via: Sender, params: Parameters[1]): Promise; createDirectAddLiquidityBody(params: { amount0: AmountType; amount1: AmountType; minimumLpToMint?: AmountType; userWalletAddress: AddressType; refundAddress?: AddressType; excessesAddress?: AddressType; dexCustomPayload?: Cell; dexCustomPayloadForwardGasAmount?: AmountType; queryId?: QueryIdType; }): Promise; getDirectAddLiquidityTxParams(provider: ContractProvider, params: { userWalletAddress: AddressType; amount0: AmountType; amount1: AmountType; minimumLpToMint?: AmountType; refundAddress?: AddressType; excessesAddress?: AddressType; dexCustomPayload?: Cell; dexCustomPayloadForwardGasAmount?: AmountType; gasAmount?: AmountType; queryId?: QueryIdType; }): Promise; sendDirectAddLiquidity(provider: ContractProvider, via: Sender, params: Parameters[1]): Promise; createResetGasBody(params?: { queryId?: QueryIdType; }): Promise; getResetGasTxParams(provider: ContractProvider, params?: { gasAmount?: AmountType; queryId?: QueryIdType; }): Promise; sendResetGas(provider: ContractProvider, via: Sender, params: Parameters[1]): Promise; getLpAccountData(provider: ContractProvider): Promise<{ userAddress: _ton_ton.Address; poolAddress: _ton_ton.Address; amount0: bigint; amount1: bigint; }>; } export { LpAccountV2_1, type LpAccountV2_1Options };