/**
 * Discovery registry for Aave Earn vaults.
 *
 * The Aave GraphQL API cannot enumerate "all vaults on a chain" — it only
 * resolves vaults by explicit `{ address, chainId }` or by curator
 * `ownedBy` owner. So discovery is registry-driven: per chain we pin the
 * curator **owner** addresses whose vaults we surface (the API expands
 * each into that curator's live vault set) plus any one-off vault
 * addresses that don't belong to a tracked curator.
 *
 * Only static discovery metadata lives here — everything per-block
 * (`totalAssets`, `totalSupply`, APR, share price) is fetched live by the
 * API + on-chain enrichment in [`fetchPublic.ts`](./fetchPublic.ts).
 *
 * Extend a chain's `curators` as new Aave Earn curators launch; the
 * fetcher is otherwise chain-agnostic.
 */
/** A curator whose Aave Earn vaults we surface, queried via `ownedBy`. */
export interface AaveEarnCurator {
    /** Vault owner address, lowercased. */
    owner: string;
    /** Display name attached to every vault this owner runs. */
    name?: string;
}
/** Per-chain discovery config. */
export interface AaveEarnChainRegistry {
    /** Curator owners expanded via the API's `ownedBy` filter. */
    curators: AaveEarnCurator[];
    /** One-off pinned vault addresses (no tracked curator), lowercased. */
    vaults: string[];
}
/**
 * Per-chain registry keyed by numeric chain id (string).
 *
 * Seeded from the Aave Earn curator set surfaced by the Aave app / API.
 * `owner` addresses are the vaults' on-chain owner (the curator's
 * multisig/EOA), NOT the vault address.
 */
export declare const AAVE_EARN_REGISTRY: {
    [chainId: string]: AaveEarnChainRegistry;
};
/** Per-chain discovery config; `{ curators: [], vaults: [] }` when unsupported. */
export declare const getAaveEarnRegistry: (chainId: string) => AaveEarnChainRegistry;
/** True when the chain has at least one curator or pinned vault to query. */
export declare const hasAaveEarnVaults: (chainId: string) => boolean;
/** Resolve a curator display name from a vault owner address. */
export declare const resolveAaveEarnCuratorName: (chainId: string, owner: string | null | undefined) => string | undefined;
//# sourceMappingURL=registry.d.ts.map