import { NftAmmMarketObject, ApiNftAmmDepositBody, Balance, ApiNftAmmWithdrawBody, ApiNftAmmBuyBody, Nft, DynamicFieldObjectsWithCursor, ApiNftAmmSellBody, ObjectId, CallerConfig } from "../../types";
import { Caller } from "../../general/utils/caller";
import { Pool } from "../pools";
import { AftermathApi } from "../../general/providers";
import { Transaction } from "@mysten/sui/transactions";
export declare class NftAmmMarket extends Caller {
    readonly market: NftAmmMarketObject;
    private readonly Provider?;
    private static readonly constants;
    pool: Pool;
    constructor(market: NftAmmMarketObject, config?: CallerConfig, Provider?: AftermathApi | undefined);
    getNfts(inputs: {
        cursor?: ObjectId;
        limit?: number;
    }): Promise<DynamicFieldObjectsWithCursor<Nft>>;
    getBuyTransaction(inputs: ApiNftAmmBuyBody): Promise<Transaction>;
    getSellTransaction(inputs: ApiNftAmmSellBody): Promise<Transaction>;
    getDepositTransaction(inputs: ApiNftAmmDepositBody): Promise<Transaction>;
    getWithdrawTransaction(inputs: ApiNftAmmWithdrawBody): Promise<Transaction>;
    getNftSpotPriceInAssetCoin: (inputs?: {
        withFees: boolean;
    }) => Balance;
    getFractionalizedCoinToAssetCoinSpotPrice: (inputs?: {
        withFees: boolean;
    }) => number;
    getAssetCoinToFractionalizeCoinSpotPrice: (inputs?: {
        withFees: boolean;
    }) => number;
    getBuyAssetCoinAmountIn: (inputs: {
        nftsCount: number;
        referral?: boolean;
    }) => Balance;
    getSellAssetCoinAmountOut: (inputs: {
        nftsCount: number;
        referral?: boolean;
    }) => Balance;
    getDepositLpCoinAmountOut: (inputs: {
        assetCoinAmountIn: Balance;
        referral?: boolean;
    }) => {
        lpAmountOut: Balance;
        lpRatio: number;
    };
    getWithdrawFractionalizedCoinAmountOut: (inputs: {
        lpCoinAmount: Balance;
        referral?: boolean;
    }) => Balance;
    getWithdrawNftsCountOut: (inputs: {
        lpCoinAmount: Balance;
        referral?: boolean;
    }) => bigint;
    private useProvider;
}
//# sourceMappingURL=nftAmmMarket.d.ts.map