import type { LstRegistryEntry } from '../registry';
import { type LstReader } from './shared';
/**
 * stCORE reader (Core chain 1116).
 *
 * The rate lives on the `Earn` contract (address in
 * `readerExtras.coreEarn`), not the token. `getCurrentExchangeRate()`
 * returns a **1e6-scaled** CORE-per-stCORE rate, so it is rescaled to
 * the 1e18 convention. `totalAssets = totalSupply * rate / 1e6`.
 */
export declare const readerCoreEarnRate: (entry: LstRegistryEntry) => LstReader;
/**
 * SCORE / dualCORE reader (Core chain 1116).
 *
 * Value-accruing share tokens: `exchangeRate = totalStaked / totalSupply`
 * (1e18-scaled). `totalStaked` is read from `readerExtras.coreStakeContract`
 * when set (dualCORE → its b14g `coreVault`), otherwise from the token
 * itself (SCORE is its own staking contract). `totalSupply` is always the
 * share token's.
 */
export declare const readerCoreStakedRatio: (entry: LstRegistryEntry) => LstReader;
//# sourceMappingURL=core.d.ts.map