import type { AuctionStepInput } from '../types'; export interface AuctionScheduleOptions { /** Leading window where nothing is emitted (mps = 0). Default 0. */ prebidBlocks?: bigint; /** Number of equal-token ramp steps before the final block. Default {@link DEFAULT_AUCTION_STEPS}. */ numSteps?: number; /** Fraction (0,1) of supply reserved for the single final block. Default {@link DEFAULT_FINAL_BLOCK_PCT}. */ finalBlockPct?: number; /** Convexity exponent for C(t) = t^alpha (alpha > 1 is convex). Default {@link DEFAULT_CONVEXITY_ALPHA}. */ alpha?: number; } /** * Builds the CCA emission schedule as a moderately convex curve with a large final block: * * - an optional leading prebid window emits nothing (`mps = 0`); * - the gradual ramp releases EQUAL token amounts across `numSteps` steps whose block durations * DECREASE over time (boundaries from the inverse of C(t) = t^alpha); * - a single final block releases the reserved `finalBlockPct` (~30%) to anchor a * manipulation-resistant clearing price. * * Invariants required on-chain: every step's blockDelta >= 1, per-block `mps` sums to exactly * {@link MPS_TOTAL}, and blockDeltas sum to exactly `endBlock - startBlock`. */ export declare function deriveConvexAuctionSteps(startBlock: bigint, endBlock: bigint, options?: AuctionScheduleOptions): AuctionStepInput[];