import { AssetId, Instrument } from "../interfaces"; export type ContractAmount = bigint; export declare class InstrumentAmount { readonly instrument: Instrument; readonly raw: ContractAmount; private constructor(); static fromRaw(instrument: Instrument, rawAmount: ContractAmount): InstrumentAmount; static fromDecimal(instrument: Instrument, amount: string): InstrumentAmount; static fromDB(instrument: Instrument, dbAmount: string): InstrumentAmount; static fromC3JSON(json: string): InstrumentAmount; static fromContract(instrument: Instrument, contractAmount: ContractAmount): InstrumentAmount; static zero(instrument: Instrument): InstrumentAmount; static infinity(instrument: Instrument): InstrumentAmount; copy(): InstrumentAmount; toDecimal(): string; toDB(): string; toC3JSON(): string; toContract(): ContractAmount; toString(): string; isSameAsset(amount: InstrumentAmount): boolean; isZero(): boolean; isZeroOrLess(): boolean; isPositive(): boolean; isNegative(): boolean; isEqual(amount: InstrumentAmount): boolean; isGreaterThanZero(): boolean; lessThan(amount: InstrumentAmount): boolean; lessThanOrEqual(amount: InstrumentAmount): boolean; greaterThan(amount: InstrumentAmount): boolean; greaterThanOrEqual(amount: InstrumentAmount): boolean; multiplyBy(multiplier: bigint): InstrumentAmount; isMultipleOf(amount: InstrumentAmount): boolean; nextMultiple(price: InstrumentAmount): InstrumentAmount; prevMultiple(amount: InstrumentAmount): InstrumentAmount; dividedBy(divider: bigint): InstrumentAmount; add(amount: InstrumentAmount): InstrumentAmount; sub(amount: InstrumentAmount): InstrumentAmount; subToZero(amount: InstrumentAmount): InstrumentAmount; min(amount: InstrumentAmount): InstrumentAmount; max(amount: InstrumentAmount): InstrumentAmount; neg(): InstrumentAmount; } export declare class InstrumentAmountMap extends Map { getAmountOrZero(instrument: Instrument): InstrumentAmount; addAmount(amount: InstrumentAmount): void; toString(): string; } export type UserPosition = { cashBalance: InstrumentAmountMap; poolBalance: InstrumentAmountMap; interestMicrounits: Map; }; export type NetUserPosition = UserPosition & { availableCash: InstrumentAmountMap; }; export type SummarizedFullUserPosition = NetUserPosition & { remainingSell: InstrumentAmountMap; remainingBorrow: InstrumentAmountMap; locked: InstrumentAmountMap; }; //# sourceMappingURL=instrumentAmount.d.ts.map