/** * Effective floor, tier floors, and ROE/price helpers for dslTick. */ import type { DslState } from "../../types/dsl/index.js"; /** ROE % at given price. */ export declare function computeCurrentROE(state: DslState, price: number): number; /** Convert floor ROE % to price (LONG: entry*(1+roe/100/lev), SHORT: entry*(1-roe/100/lev)). */ export declare function roeToPriceFloor(state: DslState, floorRoe: number): number; /** * Tier floor: % of current high-water ROE (`lock_hw_pct`). * * **Contract:** `tierIndex` must be an integer in `[0, tiers.length)`. Throws if not — this is * intentional for callers that pass **freshly derived** indices (e.g. tier advance from * `tierIndexFromPrice`). The **persisted** `state.currentTierIndex` path in `dslTick` validates * (and resets) disk state *before* calling this function so stale config or corruption does not * crash the monitor tick. */ export declare function computeTierFloor(state: DslState, tierIndex: number): number; /** Phase 1 trailing floor: HW retrace (phase1.retraceThreshold as ROE % → price fraction). */ export declare function phase1TrailingFloor(state: DslState): number; /** Phase 1 max-loss + trailing. When phase1 is disabled, only the absolute (max-loss) floor applies until tiers engage. */ export declare function phase1BaseFloor(state: DslState): number; export declare function effectiveFloor(state: DslState): number; export declare function isBreach(state: DslState, price: number): boolean; /** Phase 1 only: consecutive breaches before exit (tier-level overrides removed in v2). */ export declare function resolveBreachesRequired(state: DslState): number; /** Tier floor as ROE %; 0 when no tier. */ export declare function computeLockedProfitPct(state: DslState): number; /** ROE % to next tier trigger; null at max tier. Clamped to 0 when already past trigger (same tick). */ export declare function computeDistanceToNextTierPct(state: DslState, currentROE: number): number | null; export declare function tierIndexFromPrice(state: DslState, price: number): number; //# sourceMappingURL=floors.d.ts.map