import { TransactionArgument, Transaction, TransactionObjectArgument, Argument } from "@mysten/sui/transactions";
import { Balance, CoinType, ObjectId, SerializedTransaction, ServiceCoinData, ServiceCoinDataV2, SuiAddress, TransactionDigest, TransactionsWithCursor } from "../../types";
import { AftermathApi } from "../providers/aftermathApi";
import { SuiTransactionBlockResponseQuery } from "@mysten/sui/client";
export declare class TransactionsApiHelpers {
    private readonly Provider;
    constructor(Provider: AftermathApi);
    fetchTransactionsWithCursor: (inputs: {
        query: SuiTransactionBlockResponseQuery;
        cursor?: TransactionDigest;
        limit?: number;
    }) => Promise<TransactionsWithCursor>;
    fetchSetGasBudgetForTx: (inputs: {
        tx: Transaction;
    }) => Promise<Transaction>;
    fetchSetGasBudgetAndSerializeTx: (inputs: {
        tx: Transaction | Promise<Transaction>;
        isSponsoredTx?: boolean;
    }) => Promise<SerializedTransaction>;
    static createTxTarget: (packageAddress: string, packageName: string, functionName: string) => `${string}::${string}::${string}`;
    static createBuildTxFunc: <Inputs>(func: (inputs: Inputs) => TransactionArgument) => ((inputs: {
        walletAddress: SuiAddress;
    } & Omit<Inputs, "tx">) => Transaction);
    static splitCoinTx(inputs: {
        tx: Transaction;
        coinType: CoinType;
        coinId: ObjectId;
        amount: Balance;
    }): import("@mysten/sui/transactions").TransactionResult;
    static serviceCoinDataFromCoinTxArg: (inputs: {
        coinTxArg: TransactionObjectArgument | Argument | ObjectId;
    }) => ServiceCoinData;
    static serviceCoinDataV2FromCoinTxArg: (inputs: {
        coinTxArg: TransactionObjectArgument | Argument;
    }) => ServiceCoinDataV2;
    static coinTxArgFromServiceCoinData: (inputs: {
        serviceCoinData: ServiceCoinData;
    }) => TransactionObjectArgument;
    static coinTxArgFromServiceCoinDataV2: (inputs: {
        serviceCoinDataV2: ServiceCoinDataV2;
    }) => TransactionObjectArgument;
    static transferTxMetadata: (inputs: {
        initTx: Transaction;
        newTx: Transaction;
    }) => void;
}
//# sourceMappingURL=transactionsApiHelpers.d.ts.map