import { TransactionArgument, Transaction, TransactionObjectArgument, Argument } from "@mysten/sui/transactions";
import { Balance, CoinTransactionObjectArgumentV0, CoinType, ObjectId, SerializedTransaction, ServiceCoinData, SuiAddress, TransactionDigest, TransactionsWithCursor } from "../../types";
import { AftermathApi } from "../providers/aftermathApi";
import { SuiTransactionBlockResponseQuery } from "@mysten/sui/client";
import { TransactionBlock } from "@mysten/sui.js/transactions";
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>;
    fetchSetGasBudgetForTxV0: (inputs: {
        tx: TransactionBlock;
    }) => Promise<TransactionBlock>;
    fetchSetGasBudgetAndSerializeTx: (inputs: {
        tx: Transaction | Promise<Transaction>;
        isSponsoredTx?: boolean;
    }) => Promise<SerializedTransaction>;
    fetchSetGasBudgetAndSerializeTxV0: (inputs: {
        tx: TransactionBlock | Promise<TransactionBlock>;
        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 | TransactionBlock;
        coinType: CoinType;
        coinId: ObjectId;
        amount: Balance;
    }): any;
    static serviceCoinDataFromCoinTxArg: (inputs: {
        coinTxArg: TransactionObjectArgument | Argument | ObjectId;
    }) => ServiceCoinData;
    static serviceCoinDataFromCoinTxArgV0: (inputs: {
        coinTxArg: CoinTransactionObjectArgumentV0 | ObjectId;
    }) => ServiceCoinData;
    static coinTxArgFromServiceCoinData: (inputs: {
        serviceCoinData: ServiceCoinData;
    }) => TransactionObjectArgument;
    static coinTxArgFromServiceCoinDataV0: (inputs: {
        serviceCoinData: ServiceCoinData;
    }) => CoinTransactionObjectArgumentV0;
    static transferTxMetadata: (inputs: {
        initTx: Transaction;
        newTx: Transaction;
    }) => void;
    static transferTxMetadataV0: (inputs: {
        initTx: TransactionBlock;
        newTx: TransactionBlock;
    }) => void;
}
//# sourceMappingURL=transactionsApiHelpers.d.ts.map