import { Transaction } from "@mysten/sui/transactions";
import { AftermathApi } from "../../../general/providers/aftermathApi";
import { Balance, CoinType, ReferralVaultAddresses, SuiAddress } from "../../../types";
export declare class ReferralVaultApi {
    private readonly Provider;
    private static readonly constants;
    readonly addresses: ReferralVaultAddresses;
    constructor(Provider: AftermathApi);
    updateReferrerTx: (inputs: {
        tx: Transaction;
        referrer: SuiAddress;
    }) => import("@mysten/sui/transactions").TransactionResult | undefined;
    withdrawRebateTx: (inputs: {
        tx: Transaction;
        coinType: CoinType;
        withTransfer?: boolean;
    }) => import("@mysten/sui/transactions").TransactionResult;
    balanceOfRebateTx: (inputs: {
        tx: Transaction;
        coinType: CoinType;
        referrer: SuiAddress;
    }) => import("@mysten/sui/transactions").TransactionResult;
    referrerForTx: (inputs: {
        tx: Transaction;
        referee: SuiAddress;
    }) => import("@mysten/sui/transactions").TransactionResult;
    hasReffererTx: (inputs: {
        tx: Transaction;
        referee: SuiAddress;
    }) => import("@mysten/sui/transactions").TransactionResult;
    fetchBalanceOfRebate: (inputs: {
        coinType: CoinType;
        referrer: SuiAddress;
    }) => Promise<Balance>;
    fetchReferrer: (inputs: {
        referee: SuiAddress;
    }) => Promise<SuiAddress | undefined>;
}
//# sourceMappingURL=referralVaultApi.d.ts.map