import { DryRunTransactionBlockResponse, SuiClient, SuiObjectResponse, SuiTransactionBlockResponseOptions } from "@mysten/sui/client";
import { SuiTransactionBlockResponse } from "@mysten/sui/client";
import { SignatureWithBytes, Signer } from "@mysten/sui/cryptography";
import BigNumber from "bignumber.js";
import { BankAccountDetails, Operator, Order, PerpCreationMarketDetails, UserPosition, ZkPayload } from "../interfaces";
import { address, BigNumberable, OnChainCallResponse, TransactionBlock } from "../types";
import { TransactionObjectArgument } from "@mysten/sui/transactions";
import { TRANSFERABLE_COINS } from "../enums";
import { OnChainCalls as SpotOnChainCalls } from "../spot";
import { UserCalls as ProUserOnChainCalls } from "../v3";
export declare class OnChainCalls {
    signer: Signer;
    settlementCap: string | undefined;
    deployment: any;
    private suiClient;
    private is_zkLogin;
    private maxEpoch?;
    private proof?;
    private decodedJWT?;
    private salt?;
    private walletAddress?;
    private is_wallet_extension;
    private sequentialExecutors;
    constructor(_signer: Signer, _deployment: any, suiClient: SuiClient, isZkLogin?: boolean, zkPayload?: ZkPayload, walletAddress?: string, is_wallet_extension?: boolean, settlementCap?: string);
    setExchangeAdmin(args: {
        address: string;
        adminID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setExchangeGuardian(args: {
        address: string;
        adminID?: string;
        safeID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setFundingRateOperator(args: {
        operator: string;
        adminID?: string;
        safeID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setPreLaunchMarketStatus(args: {
        status: boolean;
        market: string;
        adminID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setPreLaunchOraclePriceOperator(args: {
        operator: string;
        adminID?: string;
        safeID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setPreLaunchMarketOraclePrice(args: {
        price: number;
        market?: string;
        safeID?: string;
        gasBudget?: number;
        coinObjectId?: string;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    createPerpetual(args: PerpCreationMarketDetails, signer?: Signer, gasBudget?: number): Promise<SuiTransactionBlockResponse>;
    setMinPrice(args: {
        adminID?: string;
        market?: string;
        minPrice: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMaxPrice(args: {
        adminID?: string;
        market?: string;
        maxPrice: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setStepSize(args: {
        adminID?: string;
        market?: string;
        stepSize: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setTickSize(args: {
        adminID?: string;
        market?: string;
        tickSize: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMTBLong(args: {
        adminID?: string;
        market?: string;
        mtbLong: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMTBShort(args: {
        adminID?: string;
        market?: string;
        mtbShort: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMaxQtyLimit(args: {
        adminID?: string;
        market?: string;
        maxQtyLimit: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMaxQtyMarket(args: {
        adminID?: string;
        market?: string;
        maxQtyMarket: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMinQty(args: {
        adminID?: string;
        market?: string;
        minQty: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMaxAllowedOIOpen(args: {
        adminID?: string;
        market?: string;
        maxLimit: string[];
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMaintenanceMarginRequired(args: {
        adminID?: string;
        market?: string;
        mmr: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setInitialMarginRequired(args: {
        adminID?: string;
        market?: string;
        imr: string;
    }, options?: {
        gasBudget?: number;
        signer?: Signer;
        multiSig?: address;
    }): Promise<SuiTransactionBlockResponse | string>;
    createSettlementOperator(args: {
        operator: string;
        adminID?: string;
        safeID?: string;
        gasBudget?: number;
    }, options?: {
        gasBudget?: number;
        signer?: Signer;
        multiSig?: address;
    }): Promise<string | SuiTransactionBlockResponse>;
    removeSettlementOperator(args: {
        capID: string;
        adminID?: string;
        safeID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setFeePoolAddress(args: {
        adminID?: string;
        market?: string;
        address: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setInsurancePoolAddress(args: {
        adminID?: string;
        market?: string;
        address: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setInsurancePoolPercentage(args: {
        adminID?: string;
        market?: string;
        percentage: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setMaxAllowedFundingRate(args: {
        adminID?: string;
        market?: string;
        maxFundingRate: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    trade(args: {
        makerOrder: Order;
        makerSignature: string;
        makerPublicKey: string;
        takerOrder: Order;
        takerSignature: string;
        takerPublicKey: string;
        settlementCapID?: string;
        fillPrice?: BigNumber;
        fillQuantity?: BigNumber;
        perpID?: string;
        safeID?: string;
        bankID?: string;
        subAccountsMapID?: string;
        gasBudget?: number;
        market?: string;
        txHash?: string;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    batchTrade(args: {
        makerOrder: Order;
        makerSignature: string;
        makerPublicKey: string;
        takerOrder: Order;
        takerSignature: string;
        takerPublicKey: string;
        settlementCapID?: string;
        fillPrice?: BigNumber;
        fillQuantity?: BigNumber;
        perpID?: string;
        safeID?: string;
        bankID?: string;
        subAccountsMapID?: string;
        market?: string;
        txHash?: string;
    }[], options?: {
        gasBudget?: number;
        signer?: Signer;
        transactionBlock?: TransactionBlock;
    }): Promise<SuiTransactionBlockResponse>;
    batchTradeUsingExecutors(args: {
        makerOrder: Order;
        makerSignature: string;
        makerPublicKey: string;
        takerOrder: Order;
        takerSignature: string;
        takerPublicKey: string;
        settlementCapID?: string;
        fillPrice?: BigNumber;
        fillQuantity?: BigNumber;
        perpID?: string;
        safeID?: string;
        bankID?: string;
        subAccountsMapID?: string;
        market?: string;
        txHash?: string;
    }[], options?: {
        gasBudget?: number;
        transactionBlock?: TransactionBlock;
    }): Promise<SuiTransactionBlockResponse>;
    buildBatchTradeTxBlock(args: {
        makerOrder: Order;
        makerSignature: string;
        makerPublicKey: string;
        takerOrder: Order;
        takerSignature: string;
        takerPublicKey: string;
        settlementCapID?: string;
        fillPrice?: BigNumber;
        fillQuantity?: BigNumber;
        perpID?: string;
        safeID?: string;
        bankID?: string;
        subAccountsMapID?: string;
        market?: string;
        txHash?: string;
    }[], gasBudget?: number): Promise<TransactionBlock>;
    liquidate(args: {
        perpID?: string;
        liquidatee: string;
        quantity: string;
        leverage: string;
        liquidator?: string;
        allOrNothing?: boolean;
        subAccountsMapID?: string;
        gasBudget?: number;
        market?: string;
        txHash?: string;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    getBatchLiquidationTransactionBlock(args: {
        perpID?: string;
        liquidatee: string;
        quantity: string;
        leverage: string;
        liquidator?: string;
        allOrNothing?: boolean;
        subAccountsMapID?: string;
        gasBudget?: number;
        market?: string;
        txHash?: string;
    }[], gasBudget?: number, signer?: Signer): Promise<TransactionBlock>;
    batchLiquidate(args: {
        perpID?: string;
        liquidatee: string;
        quantity: string;
        leverage: string;
        liquidator?: string;
        allOrNothing?: boolean;
        subAccountsMapID?: string;
        gasBudget?: number;
        market?: string;
    }[], gasBudget?: number, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    dryRun(txBlock: TransactionBlock, signer: Signer): Promise<DryRunTransactionBlockResponse>;
    deleverage(args: {
        maker: string;
        taker: string;
        quantity: string;
        allOrNothing?: boolean;
        perpID?: string;
        deleveragingCapID?: string;
        safeID?: string;
        gasBudget?: number;
        market?: string;
        txHash?: string;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    getBatchDeleveragingTransactionBlock(args: {
        maker: string;
        taker: string;
        quantity: string;
        allOrNothing?: boolean;
        perpID?: string;
        deleveragingCapID?: string;
        safeID?: string;
        gasBudget?: number;
        market?: string;
        txHash?: string;
    }[], gasBudget?: number, signer?: Signer): Promise<TransactionBlock>;
    batchDeleverage(args: {
        maker: string;
        taker: string;
        quantity: string;
        allOrNothing?: boolean;
        perpID?: string;
        deleveragingCapID?: string;
        safeID?: string;
        gasBudget?: number;
        market?: string;
        txHash?: string;
    }[], gasBudget?: number, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    addMargin(args: {
        amount: number;
        account?: string;
        perpID?: string;
        subAccountsMapID?: string;
        market?: string;
        gasBudget?: number;
        txHash?: string;
        sponsor?: boolean;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse | TransactionBlock>;
    removeMargin(args: {
        amount: number;
        account?: string;
        perpID?: string;
        subAccountsMapID?: string;
        market?: string;
        gasBudget?: number;
        txHash?: string;
        sponsor?: boolean;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse | TransactionBlock>;
    adjustLeverage(args: {
        leverage: number;
        account?: string;
        perpID?: string;
        subAccountsMapID?: string;
        market?: string;
        gasBudget?: number;
        txHash?: string;
        sponsor?: boolean;
    }, signer?: Signer): Promise<TransactionBlock | SuiTransactionBlockResponse>;
    signAdjustLeverage(args: {
        leverage: number;
        account?: string;
        perpID?: string;
        subAccountsMapID?: string;
        market?: string;
        gasBudget?: number;
        txHash?: string;
    }, signer?: Signer): Promise<SignatureWithBytes>;
    /**
     * Create signed transaction for whitelisting/removing of the subaccounts on-chain
     */
    signUpsertSubAccount(args: {
        account?: string;
        accountsToRemove?: Array<string>;
        subAccountsMapID?: string;
        gasBudget?: number;
        sponsor?: boolean;
    }, signer?: Signer): Promise<SignatureWithBytes | TransactionBlock>;
    cancelOrder(args: {
        order: Order;
        signature: string;
        publicKey: string;
        subAccountsMapID?: string;
        gasBudget?: number;
        txHash?: string;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setFundingRate(args: {
        rate: BigNumber;
        safeID?: string;
        updateFRCapID?: string;
        perpID?: string;
        market?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setDeleveragingOperator(args: {
        operator: string;
        adminID?: string;
        safeID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setSubAccount(args: {
        account: string;
        status: boolean;
        subAccountsMapID?: string;
        gasBudget?: number;
        sponsor?: boolean;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse | TransactionBlock>;
    depositToBank(args: {
        coinID: string;
        amount: string;
        txHash?: string;
        accountAddress?: string;
        bankID?: string;
        gasBudget?: number;
        sponsor?: boolean;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse | TransactionBlock>;
    setBankWithdrawalStatus(args: {
        isAllowed: boolean;
        bankID?: string;
        safeID?: string;
        guardianCap?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setPerpetualTradingPermit(args: {
        isPermitted: boolean;
        market?: string;
        safeID?: string;
        guardianCap?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    withdrawFromBank(args: {
        amount: string;
        accountAddress?: string;
        txHash?: string;
        bankID?: string;
        gasBudget?: number;
        sponsor?: boolean;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse | TransactionBlock>;
    withdrawAllMarginFromBank(signer?: Signer, walletAddress?: string, gasBudget?: number, bankID?: string, txHash?: string): Promise<SuiTransactionBlockResponse>;
    attachWithdrawCall(tx: TransactionBlock, userAddress: string): {
        balanceT: {
            $kind: "NestedResult";
            NestedResult: [number, number];
        };
        amount: {
            $kind: "NestedResult";
            NestedResult: [number, number];
        };
    };
    attachWithdrawCallWithoutBalance(tx: TransactionBlock, userAddress: string): void;
    attachClosePositionCall(tx: TransactionBlock, symbol: string, userAddress: string): void;
    attachSwapCall(tx: TransactionBlock, inspectTx: TransactionBlock, userAddress: string, amountNumber: number, spotOnChain: SpotOnChainCalls, withdrawTxResult?: any, swapVia7k?: boolean, slippage?: number, defaultSlippage?: number, returnOnlyQuote?: boolean): Promise<any>;
    attachDepositToProCall(tx: TransactionBlock, userAddress: string, coinOut: TransactionObjectArgument, proUserOnChain: ProUserOnChainCalls): Promise<OnChainCallResponse>;
    closeAllPositionsAndWithdrawMarginPTB(delistedMarketPositions: string[], walletAddress?: string, args?: {
        gasBudget?: number;
        sponsor?: boolean;
        dryRunOnly?: boolean;
    }, signer?: Signer): Promise<TransactionBlock | SuiTransactionBlockResponse | DryRunTransactionBlockResponse>;
    swapAndDepositToProPTB(amount: number, spotOnChain: SpotOnChainCalls, proUserOnChain: ProUserOnChainCalls, walletAddress?: string, args?: {
        gasBudget?: number;
        sponsor?: boolean;
        use7k?: boolean;
        slippage?: number;
        defaultSlippage?: number;
        dryRunOnly?: boolean;
    }, signer?: Signer): Promise<TransactionBlock | SuiTransactionBlockResponse | DryRunTransactionBlockResponse>;
    withdrawAllSwapAndDepositToProPTB(spotOnChain: SpotOnChainCalls, proUserOnChain: ProUserOnChainCalls, walletAddress?: string, args?: {
        gasBudget?: number;
        sponsor?: boolean;
        use7k?: boolean;
        slippage?: number;
        dryRunOnly?: boolean;
        defaultSlippage?: number;
    }, signer?: Signer): Promise<TransactionBlock | SuiTransactionBlockResponse | DryRunTransactionBlockResponse>;
    closeAllPositionsWithdrawSwapAndDepositToProPTB(delistedMarketPositions: string[], spotOnChain: SpotOnChainCalls, proUserOnChain: ProUserOnChainCalls, walletAddress?: string, args?: {
        gasBudget?: number;
        sponsor?: boolean;
        use7k?: boolean;
        slippage?: number;
        dryRunOnly?: boolean;
        defaultSlippage?: number;
    }, signer?: Signer): Promise<TransactionBlock | SuiTransactionBlockResponse | DryRunTransactionBlockResponse>;
    inspectWithdrawAllAndGetEstimatedSwapAmount(delistedMarketPositions: string[], spotOnChain: SpotOnChainCalls, walletAddress?: string, args?: {
        gasBudget?: number;
        slippage?: number;
        dryRunOnly?: boolean;
        defaultSlippage?: number;
    }, signer?: Signer): Promise<any>;
    delistPerpetual(args: {
        price: string;
        market?: string;
        adminID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    closePosition(args?: {
        bankID?: string;
        perpID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    removeEmptyPositions(args: {
        market: string;
        users: string[];
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    /**
     * @notice Allows admin to update the default maker fee of a perpetual
     * @param args:
     *  market: name of the perpetual/market
     *  fee: the maker fee to be charged from user on each tx NOTE: should be in bps 1.5/2.5
     */
    setMakerFee(args: {
        market: string;
        fee: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    /**
     * @notice Allows admin to update the default taker fee of a perpetual
     * @param args:
     *  market: name of the perpetual/market
     *  fee: the taker fee to be charged from user on each tx NOTE: should be in bps 1.5/2.5
     */
    setTakerFee(args: {
        market: string;
        fee: number;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setSpecialFee(args: {
        adminID?: string;
        marketName?: string;
        account: string;
        status: boolean;
        makerFee: number;
        takerFee: number;
        gasBudget?: number;
    }, options?: {
        gasBudget?: number;
        signer?: Signer;
        multiSig?: address;
    }): Promise<SuiTransactionBlockResponse | string>;
    executeTxBlock(transactionBlock: TransactionBlock, signer?: Signer, options?: SuiTransactionBlockResponseOptions): Promise<SuiTransactionBlockResponse>;
    executeTxBlockWithLocalExecution(transactionBlock: TransactionBlock, signer?: Signer, options?: SuiTransactionBlockResponseOptions): Promise<SuiTransactionBlockResponse>;
    /**
     * Executes provided signed transaction block
     * @param blockBytes bytes of the tx block
     * @param signature signature of the block
     * @returns
     */
    executeSignedTxBlock(blockBytes: string | Uint8Array, signature: string, options?: SuiTransactionBlockResponseOptions): Promise<SuiTransactionBlockResponse>;
    createOracleObjects(signer?: Signer): Promise<SuiTransactionBlockResponse>;
    createBank(usdcAddress: string, gasBudget?: number, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    createSequencer(signer?: Signer): Promise<SuiTransactionBlockResponse>;
    setOraclePrice(args: {
        price: number;
        confidence?: string;
        market?: string;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    /**
     * Returns price of oracle
     * @param market name of the market for which oracle price is to be fetched
     * @returns oracle price in base number
     */
    getOraclePrice(market?: string): Promise<number>;
    mintUSDC(args?: {
        amount?: string;
        to?: string;
        treasuryCapID?: string;
        gasBudget?: number;
    }, signer?: Signer): Promise<SuiTransactionBlockResponse>;
    getUSDCCoins(args?: {
        address?: string;
        currencyType?: string;
        limit?: number;
        cursor?: string;
    }, signer?: Signer): Promise<any>;
    /**
     * Merges All USDC Coins to single coin
     * @param coinType [optional] coinType of USDC coin , if not provided will get from deployment json
     * @param signer the signer object of the wallet that owns USDC coins
     * @returns transaction result
     */
    mergeAllUsdcCoins(coinType?: string, signer?: Signer | any, address?: string, sponsor?: boolean): Promise<TransactionBlock | SuiTransactionBlockResponse>;
    Z: any;
    /**
     * Prepare trasaction block for transferring SUI
     * @param to recipient wallet address
     * @param balance amount to transfer
     * @returns transaction block
     */
    prepareTransactionForSUITransfer(to: string, balance: number, signer?: Signer | any): Promise<TransactionBlock>;
    transferCoinObjects(to: string, balance: number, coinObject: {
        balance: string;
        coinObjectIds: string[];
        coinType: string;
        decimals: number;
    }, signer?: Signer | any, dryRun?: boolean): Promise<SuiTransactionBlockResponse | DryRunTransactionBlockResponse>;
    /**
     * Transfers Sui Balance to given wallet address
     * @param args.to destination wallet address
     * @param args.balance sui balance in normal base to transfer to destination wallet address
     * @param signer the signer object of the wallet that owns sui to transfer
     * @returns transaction Result
     */
    transferSuiBalance(args: {
        to: string;
        balance: number;
    }, signer?: Signer | any): Promise<SuiTransactionBlockResponse>;
    getUSDCBalance(args?: {
        address?: string;
        currencyID?: string;
        limit?: number;
        cursor?: string;
    }, signer?: Signer): Promise<number>;
    getUSDCoinHavingBalance(args: {
        amount: BigNumberable;
        address?: string;
        currencyID?: string;
        limit?: number;
        cursor?: string;
    }, signer?: Signer): Promise<any>;
    private executeZkTransaction;
    private executeWalletTransaction;
    signAndCall(signer: Signer | any, method: string, callArgs: any[], moduleName: string, gasBudget?: number, packageId?: string, typeArguments?: string[]): Promise<SuiTransactionBlockResponse>;
    buildTxBlock(method: string, moduleName: string, callArgs: any[], signer: Signer | any, packageId?: string, typeArguments?: string[]): Promise<TransactionBlock>;
    setSettlementCap(id: string): void;
    /**
     * Get Sui Balance of given wallet address
     * @param user wallet address to get the sui balance of
     * @returns sui balance of user in base 9
     */
    getUserSuiBalance(user?: string): Promise<string>;
    getOnChainObject(id: string): Promise<SuiObjectResponse>;
    getOwnedObjects(objType: string, ownerAddr?: string): Promise<string[]>;
    getUserPosition(perpetual: string, user?: string): Promise<UserPosition>;
    getUserPositionFromID(id: string): Promise<UserPosition>;
    getPerpDetails(id: string): Promise<any>;
    getBankAccountDetailsUsingID(id: string): Promise<BankAccountDetails | undefined>;
    getUserBankBalance(user?: string, bankID?: string): Promise<BigNumber>;
    executeTransactionBlock(caller: Signer, tx: TransactionBlock): Promise<SuiTransactionBlockResponse>;
    private prepareTransactionBlock;
    estimateGasFee(txb: TransactionBlock): Promise<bigint>;
    estimateGasForSuiTransfer(args: {
        to: string;
        balance: number;
    }): Promise<bigint>;
    prepareTransactionForUSDCTransfer(to: string, balance: number): Promise<TransactionBlock>;
    transferUSDC(args: {
        to: string;
        balance: number;
    }, signer?: Signer | any): Promise<SuiTransactionBlockResponse>;
    /**
     * Transfers Sui Balance to given wallet address
     * @param args.to destination wallet address
     * @param args.balance sui balance in normal base to transfer to destination wallet address
     * @param signer the signer object of the wallet that owns sui to transfer
     * @param coin which coin to transfer
     * @returns transaction Result
     */
    transferCoins(args: {
        to: string;
        balance: number;
        coin: TRANSFERABLE_COINS;
    }, signer?: Signer | any): Promise<SuiTransactionBlockResponse>;
    estimateGasForUSDCTransfer(args: {
        to: string;
        balance: number;
    }): Promise<bigint>;
    getPriceOracleObjectId(market?: string): string;
    getPriceOracleFeedId(market?: string): string;
    getPythPkgId(market?: string): string;
    getSettlementOperators(): Operator[];
    getBankID(): string;
    getUpgradeCapID(): string;
    getSafeID(): string;
    getGuardianCap(): string;
    getFROperatorCapID(): string;
    getDeleveragingCapID(): string;
    getSettlementOperatorTable(): string;
    getPackageID(): string;
    getExchangeAdminCap(): string;
    getSubAccountsID(): string;
    getPriceOracleOperatorCap(): string;
    getPublicSettlementCap(): string;
    getPerpetualID(market?: string): string;
    getOrdersTableID(): string;
    getPositionsTableID(market?: string): string;
    getBankTableID(): string;
    getDeployerAddress(): string;
    getCurrencyID(): string;
    getCoinType(): string;
    getBankType(): string;
    getCurrencyType(): string;
    getTreasuryCapID(): string;
    getSequencer(): string;
    _parseAccountDetails(obj: any): BankAccountDetails;
    getZkPayload: () => ZkPayload;
}
