import type { Address } from 'viem'; import type * as Campaigns from './Campaigns.js'; /** Validates and quantizes a one-day Morpho observation, rejecting rates outside campaign bounds. */ export declare function parseMorpho(options: parseMorpho.Options): number; export declare namespace parseMorpho { /** Morpho response and inclusive campaign rate bounds. */ type Options = { /** Maximum accepted annual rate in basis points. */ maxBps: number; /** Minimum accepted annual rate in basis points. */ minBps: number; /** GraphQL response containing the requested one-day net APY. */ response: unknown; }; } /** Resolves one campaign target rate, falling back to the last consumed observation. */ export declare function target(options: target.Options): Promise; export declare namespace target { /** Target-rate source and deterministic fallback. */ type Options = { /** Accounting boundary that consumes the observation. */ boundary: string; /** Last valid observation consumed by a completed run. */ fallback?: Result | undefined; /** HTTP implementation. */ fetch: typeof globalThis.fetch; /** Current wall clock used to timestamp and validate observations. */ now: () => Date; /** Fixed or Base Morpho target source. */ source: NonNullable['annualRate']; }; /** Quantized simple annual target rate. */ type Result = { /** Selected annual rate in basis points. */ annualRateBps: number; /** Observation instant. */ observedAt: string; /** Whether a prior valid observation was reused. */ stale?: boolean | undefined; }; } /** Base Morpho vault used by one target source. */ export type MorphoVault = Address; //# sourceMappingURL=Rates.d.ts.map