import { BigintIsh, Fraction, Rounding } from '../math'; import { Amount } from './Amount'; import { Type } from './Type'; export declare class Share extends Fraction { readonly currency: T; readonly scale: bigint; static fromRawShare(currency: T, rawShare?: BigintIsh): Share; protected constructor(currency: T, numerator: BigintIsh, denominator?: BigintIsh); toAmount(rebase: { base: bigint; elastic: bigint; }, roundUp?: boolean): Amount; /** * Construct a currency share with a denominator that is not equal to 1 * @param currency the currency * @param numerator the numerator of the fractional token share * @param denominator the denominator of the fractional token share */ static fromFractionalShare(currency: T, numerator: BigintIsh, denominator: BigintIsh): Share; add(other: Share): Share; subtract(other: Share): Share; multiply(other: Fraction | BigintIsh): Share; divide(other: Fraction | BigintIsh): Share; toSignificant(significantDigits?: number, format?: object, rounding?: Rounding): string; toFixed(decimalPlaces?: number, format?: object, rounding?: Rounding): string; toExact(format?: object): string; }