import BigNumber from 'bignumber.js'; import { Procedure } from "../../internal"; import { PortfolioLike, Tier } from "../../types"; import { PortfolioId, ProcedureAuthorization } from "../../types/internal"; export interface InvestInOfferingParams { /** * portfolio in which the purchased Asset tokens will be stored */ purchasePortfolio: PortfolioLike; /** * portfolio from which funds will be withdrawn to pay for the Asset tokens */ fundingPortfolio: PortfolioLike; /** * amount of Asset tokens to purchase */ purchaseAmount: BigNumber; /** * maximum average price to pay per Asset token (optional) */ maxPrice?: BigNumber; } /** * @hidden */ export declare type Params = InvestInOfferingParams & { id: BigNumber; ticker: string; }; /** * @hidden */ export interface Storage { purchasePortfolioId: PortfolioId; fundingPortfolioId: PortfolioId; } /** * @hidden */ interface TierStats { remainingTotal: BigNumber; price: BigNumber; remainingToPurchase: BigNumber; } /** * @hidden */ export declare const calculateTierStats: (tiers: Tier[], purchaseAmount: BigNumber, maxPrice?: BigNumber | undefined) => Omit; /** * @hidden */ export declare function prepareInvestInSto(this: Procedure, args: Params): Promise; /** * @hidden */ export declare function getAuthorization(this: Procedure): ProcedureAuthorization; /** * @hidden */ export declare function prepareStorage(this: Procedure, { purchasePortfolio, fundingPortfolio }: Params): Storage; /** * @hidden */ export declare const investInOffering: () => Procedure; export {}; //# sourceMappingURL=investInOffering.d.ts.map