/**
 * Silo V2 InterestRateModelV2 rate computation — stripped-down transplant
 * of the logic in `@1delta/irm-sdk/models/silo/kink-v2.ts`.
 *
 * Kept here so the margin-fetcher doesn't need to depend on the full
 * irm-sdk for a single rate call. The model shape is shared between
 * Silo v2 and v3 (v3 reuses the exact same IRM contract), so this helper
 * serves both parsers.
 */
import type { SiloHalfStatic } from '@1delta/data-sdk';
/** Raw IRM params (int256 values at 1e18 scale). */
export interface SiloIRMParams {
    uopt: bigint;
    ucrit: bigint;
    ulow: bigint;
    klin: bigint;
    ki: bigint;
    kcrit: bigint;
    klow: bigint;
    beta: bigint;
    ri: bigint;
    Tcrit: bigint;
    /** Decimal fraction (0..1), optional. */
    daoFee?: number;
    /** Decimal fraction (0..1), optional. */
    deployerFee?: number;
}
/**
 * Parse the IRM.getConfig(silo) tuple into `SiloIRMParams`.
 * Returns null when the call reverted or returned an unexpected shape.
 */
export declare function parseIRMConfig(raw: any, half: SiloHalfStatic): SiloIRMParams | null;
/** Borrow + deposit rates (APR %) given the IRM state and utilization. */
export declare function calculateSiloRates(utilization: number, params: SiloIRMParams): {
    borrowRate: number;
    depositRate: number;
};
//# sourceMappingURL=irmRates.d.ts.map