import { AftermathApi } from "../../../general/providers/aftermathApi";
import { TransactionArgument, Transaction } from "@mysten/sui/transactions";
import { CoinType } from "../../coin/coinTypes";
import { ApiFaucetMintSuiFrenBody, FaucetAddCoinEvent, FaucetMintCoinEvent } from "../faucetTypes";
import { AnyObjectType, Balance, EventsInputs, FaucetAddresses, ObjectId, SuiAddress } from "../../../types";
export declare class FaucetApi {
    private readonly Provider;
    private static readonly constants;
    readonly addresses: FaucetAddresses;
    readonly eventTypes: {
        mintCoin: AnyObjectType;
        addCoin: AnyObjectType;
    };
    constructor(Provider: AftermathApi);
    fetchRequestCustomCoinAmountTx: (inputs: {
        walletAddress: SuiAddress;
        coinType: CoinType;
        amount: bigint;
    }) => Promise<Transaction>;
    fetchBuildMintSuiFrenTx: (inputs: ApiFaucetMintSuiFrenBody) => Promise<Transaction>;
    addCoinTx: (inputs: {
        tx: Transaction;
        treasuryCapId: ObjectId;
        treasuryCapType: AnyObjectType;
    }) => import("@mysten/sui/transactions").TransactionResult;
    requestCoinAmountTx: (inputs: {
        tx: Transaction;
        coinType: CoinType;
        amount: Balance;
    }) => import("@mysten/sui/transactions").TransactionResult;
    requestCoinTx: (inputs: {
        tx: Transaction;
        coinType: CoinType;
    }) => import("@mysten/sui/transactions").TransactionResult;
    mintSuiFrenTx: (inputs: {
        tx: Transaction;
        suiPaymentCoinId: ObjectId | TransactionArgument;
        suiFrenType: AnyObjectType;
    }) => import("@mysten/sui/transactions").TransactionResult;
    fetchMintCoinEvents: (inputs: EventsInputs) => Promise<import("../../../types").EventsWithCursor<FaucetMintCoinEvent>>;
    fetchAddCoinEvents: (inputs: EventsInputs) => Promise<import("../../../types").EventsWithCursor<FaucetAddCoinEvent>>;
    private mintCoinEventType;
    private addCoinEventType;
}
//# sourceMappingURL=faucetApi.d.ts.map