import type { DolomiteEmodeChain } from '@1delta/data-sdk';
export type DolomiteMarketConfig = {
    category: string;
    label: string;
    collateralFactor: number;
    borrowCollateralFactor: number;
    borrowFactor: number;
    debtDisabled: boolean;
    collateralDisabled: boolean;
    liquidationPenalty: number;
    closeFactor: number;
};
/**
 * Dolomite collateral factors from a margin ratio R and a margin premium p.
 * Consistent across base and e-mode — e-mode is simply premiums-ignored (p=0)
 * with R replaced by the category's `marginRatioOverride`:
 *   collateralFactor       = 1 / (1 + p)
 *   borrowCollateralFactor = 1 / ((1 + R) · (1 + p))   ← health = bDC/adjDebt < 1 at liq
 *   borrowFactor           = 1 + p
 */
export declare const dolomiteFactors: (p: number, R: number) => {
    collateralFactor: number;
    borrowCollateralFactor: number;
    borrowFactor: number;
};
/**
 * Build the per-market `config` map: the base cross-margin mode `'0'` plus one
 * entry per e-mode category present on the chain. A market that belongs to a
 * category gets that category's (premiums-ignored, tighter-ratio) factors; a
 * market that does NOT belong gets a disabled entry — exactly the Aave-v3
 * `populateEModes` shape, so the generic helper's `configs[mode]` selection
 * works unchanged.
 *
 * @param marketId      this market's Dolomite marketId
 * @param marginPremium per-market premium p (0 for most)
 * @param R             global margin ratio (= liquidationRatio − 1)
 * @param emode         the chain's e-mode table (`dolomiteEmode()?.[chainId]`)
 */
export declare function buildDolomiteConfigs(marketId: string, marginPremium: number, R: number, isClosing: boolean, emode?: DolomiteEmodeChain): Record<string, DolomiteMarketConfig>;
/**
 * Resolve a position's effective e-mode mode from the categories of the markets
 * it holds. Dolomite "segregated risk": the override applies only when EVERY
 * held market belongs to the SAME non-NONE category; any uncategorised or
 * mixed-category asset falls back to base mode `'0'`.
 */
export declare function resolveDolomiteMode(heldMarketIds: string[], emode?: DolomiteEmodeChain): string;
//# sourceMappingURL=emodeConfig.d.ts.map