/**
 * Amount is a number of base units and decimal precision,
 * expressed using a string for  JSON-compatibility
 */
export interface Amount {
    /** Amount expressed in base units */
    amount: string;
    /** Number of decimal places in amount */
    decimals: number;
}
/**
 * Parses a string or number into an Amount, given a decimal level
 * @param amount The string or number to parse
 * @param decimals The number of decimals for the token this amount is of
 * @returns An Amount, expressed as base units and decimals
 */
export declare function parse(amount: string | number, decimals: number): Amount;
/**
 * A utility function to truncate an amount to some max decimal
 *
 * This is useful for things like the TokenBridge, where we want to truncate
 * the amount to represent a maximum of 8 decimals
 *
 * @param amount the Amount to truncate
 * @param maxDecimals the max number of decimals we want to keep, zeroing out the rest
 * @returns the truncated Amount
 */
export declare function truncate(amount: Amount, maxDecimals: number): Amount;
/**
 * Utility function to scale some amount to a given number of decimals
 *
 * This is useful for things like the TokenBridge, where we want to scale
 * the amount from some the over-the-wire 8 decimals
 *
 * @param amount the amount to scale
 * @param toDecimals the number of decimals to scale to
 * @returns the scaled amount
 */
export declare function scale(amount: Amount, toDecimals: number): Amount;
/**
 * Directly creates an Amount given the base units and decimal level
 * @param amount Amount expressed as base units
 * @param decimals The number of decimals for the token this amount is of
 * @returns An Amount, expressed as base units and decimals
 */
export declare function fromBaseUnits(amount: bigint, decimals: number): Amount;
/**
 * Returns the base units from an Amount, as a bigint
 * @param amount An Amount
 * @returns A bigint, representing the base units for the Amount
 */
export declare function units(amount: Amount): bigint;
/**
 * Formats an Amount as a human-readable string
 * @param amount An Amount
 * @param precision Number of decimal places to render
 * @returns A string representing the Amount as a fixed point number
 */
export declare function display(amount: Amount, precision?: number): string;
//# sourceMappingURL=amount.d.ts.map