import { MorphoGeneralPublicResponse } from '../../../types/lender/morpho-types';
import { AdditionalYields, GenericTokenList } from '../../../types';
import type { TellerMarketsRaw } from './types';
/** Synthesized per-pool lender key, e.g. `TELLER_<POOL_ADDRESS_HEX_UPPER>`. */
export declare function tellerLenderKey(pool: string): string;
/** Recover the pool address from a `TELLER_<HEX>` lender key (or undefined). */
export declare function tellerPoolFromLenderKey(lender: string): string | undefined;
/**
 * Map the on-chain Teller pool batch into the shared `MorphoGeneralPublicResponse`
 * shape (identical to Exactly/Midnight/Term/River), keyed by
 * `TELLER_<POOL_ADDRESS>` — one key per `LenderCommitmentGroup` pool.
 *
 * Per pool (a fixed principal↔collateral pair):
 *  - a LOAN entry on the principal token: `borrowLiquidity` =
 *    `getPrincipalAmountAvailableToBorrow` (the liquidity gate); the fixed borrow
 *    APR sits on `stableBorrowRate` (fixed-rate convention, like Exactly/Term/
 *    Lista — `variableBorrowRate` stays 0, Teller has no floating leg);
 *  - a COLLATERAL entry on the collateral token with the implied origination LTV
 *    and `liquidationPenalty: 0` (Teller liquidation is TIME-based — a missed
 *    payment past the market window seizes collateral, there is no price-based
 *    penalty parameter);
 *  - `params.market.fixedTerm` = `{ model: 'teller', earlyRepay: 'none' (full
 *    early repay is pro-rata, penalty-free), provider: { kind: 'pool' } }` — a
 *    rolling duration (borrower picks ≤ `maxLoanDuration`), so no market-level
 *    calendar maturity.
 */
export declare function convertTellerMarketsToResponse(raw: TellerMarketsRaw, chainId: string, prices?: {
    [asset: string]: number;
}, _additionalYields?: AdditionalYields, tokens?: GenericTokenList): {
    [m: string]: MorphoGeneralPublicResponse;
};
//# sourceMappingURL=convertPublic.d.ts.map