import type { LstRegistryEntry } from '../registry';
import type { LstReader } from './shared';
export type { LstCall, LstOnChainState, LstReader } from './shared';
export { ONE_E18, toBigInt } from './shared';
/**
 * Dispatch a registry entry to its per-protocol reader.
 *
 * Single source of truth for the reader-kind → implementation
 * mapping. Adding a new LST means:
 *   1. Add an ABI fragment under `../abis/<protocol>.ts`.
 *   2. Add a reader under `./readers/<protocol>.ts`.
 *   3. Extend `LstReaderKind` in `../registry.ts` and add a case
 *      below.
 *   4. Register the LST in `LST_REGISTRY` with the new reader kind.
 *
 * Each reader contributes 1–3 multicall items + a parser that consumes
 * exactly `calls.length` results. The orchestrator
 * (`../fetchPublic.ts`) flattens every entry's contribution into a
 * single multicall and slices the result back per-entry.
 */
export declare const buildReader: (entry: LstRegistryEntry) => LstReader;
//# sourceMappingURL=index.d.ts.map