import type { TezosContext } from '../config';
import type { TezosOperationMode } from '../types/model';
export type CoreAccountInfo = {
    address: string;
    balance: bigint;
    stakedBalance?: bigint;
    unstakedBalance?: bigint;
    revealed: boolean;
    xpub?: string;
};
export type CoreTransactionInfo = {
    mode: TezosOperationMode;
    recipient: string;
    amount: bigint;
    useAllAmount?: boolean;
    /** FA2 token contract; required when `mode` is `send_token` */
    contractAddress?: string;
    /** FA2 token id; required when `mode` is `send_token` */
    tokenId?: number;
};
export type EstimatedFees = {
    fees: bigint;
    gasLimit: bigint;
    storageLimit: bigint;
    estimatedFees: bigint;
    amount?: bigint;
    taquitoError?: string;
};
/**
 * Fetch the transaction fees for a transaction
 *
 * @param {Account} account
 * @param {Transaction} transaction
 */
export declare function estimateFees(context: TezosContext, { account, transaction, }: {
    account: CoreAccountInfo;
    transaction: CoreTransactionInfo;
}): Promise<EstimatedFees>;
//# sourceMappingURL=estimateFees.d.ts.map