import BigNumber from 'bignumber.js';
import { Int } from '../constants.js';
import coinAmount from './coin-amount.js';
import { Encoded } from '../../../utils/encoder.js';
import type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';
import Node from '../../../Node.js';
/**
 * Calculate gas based on tx type and params
 */
export declare function buildGas(builtTx: Encoded.Transaction, unpackTx: typeof unpackTxType, buildTx: typeof buildTxType): number;
export interface SerializeAettosParams {
    rebuildTx: (params: any) => Encoded.Transaction;
    unpackTx: typeof unpackTxType;
    buildTx: typeof buildTxType;
    _computingMinFee?: BigNumber;
}
declare const _default: {
    prepare(value: Int | undefined, params: {}, { onNode }: {
        onNode?: Node;
    }): Promise<Int | undefined>;
    serializeAettos(_value: string | undefined, { rebuildTx, unpackTx, buildTx, _computingMinFee }: SerializeAettosParams, { _canIncreaseFee }: {
        _canIncreaseFee?: boolean;
    }): string;
    serialize(value: Parameters<typeof coinAmount.serialize>[0], params: Parameters<typeof coinAmount.serialize>[1] & SerializeAettosParams, options: {
        _canIncreaseFee?: boolean;
    } & Parameters<typeof coinAmount.serialize>[2]): Buffer;
    deserialize(value: Buffer): string;
};
export default _default;
