import type { BigintIsh, FractionObject } from "@ubeswap/token-math";
import { TokenAmount as UTokenAmount } from "@ubeswap/token-math";
import type { Token } from "./token";
export interface TokenAmountObject extends FractionObject {
    /**
     * Discriminator to show this is a token amount.
     */
    _isTA: true;
    /**
     * Amount of tokens in string representation.
     */
    uiAmount: string;
}
export declare class TokenAmount extends UTokenAmount<Token> {
    constructor(token: Token, amount: BigintIsh);
    new(token: Token, amount: BigintIsh): this;
    /**
     * Parses a token amount from a decimal representation.
     * @param token
     * @param uiAmount
     * @returns
     */
    static parse(token: Token, uiAmount: string): TokenAmount;
    /**
     * String representation of this token amount.
     */
    toString(): string;
    /**
     * JSON representation of the token amount.
     */
    toJSON(): TokenAmountObject;
}
//# sourceMappingURL=tokenAmount.d.ts.map