import type { LiquidityAllocationBracket } from '../types'; /** * Post-auction LP allocation → on-chain `LiquidityAllocationBracket[]`. Each bracket pairs an * inclusive lower bound on cumulative currency raised with an LP rate (mps). */ export type LpAllocationInput = { kind: 'single'; percent: number; } | { kind: 'tiered'; /** Decimals of the auction raise currency; milestones are human decimals in this unit. */ raiseCurrencyDecimals: number; tiers: TieredLpAllocationTier[]; }; export type TieredLpAllocationTier = { raiseMilestone: string; percent: number; }; /** Sentinel for the final tier: all cumulative raises at/above the prior bound use this percent. */ export declare const LP_ALLOCATION_UNBOUNDED_RAISE_MILESTONE: "unbounded"; /** * Builds on-chain `LiquidityAllocationBracket[]` (`lowerThreshold` + `rate`). * * Each bounded tier's `raiseMilestone` is an INCLUSIVE upper bound on cumulative currency raised, as * a human-readable non-negative decimal in the raise currency (at most `raiseCurrencyDecimals` * fractional digits). Exactly one tier must use `''` or {@link LP_ALLOCATION_UNBOUNDED_RAISE_MILESTONE} * for the open-ended tail. Bounded tiers may be listed in any order. * * The contract uses inclusive lower thresholds (`raised >= lowerThreshold`). The first bracket is * always 0; each subsequent bracket uses `priorInclusiveUpper + 1` so the prior tier still applies * at exactly the user's milestone. Each bracket's percent must be at least {@link MIN_LP_ALLOCATION_PERCENT}. */ export declare function buildLpAllocationSchedule(allocation: LpAllocationInput): LiquidityAllocationBracket[];