import { GetProgramAccountsFilter, PublicKey } from "@solana/web3.js"; import type { Pool } from "./types"; export interface ProtocolFetcher { protocol: string; kind: "lend" | "vault"; programId: PublicKey; dataSize: number; discriminator?: string; extraFilters?: GetProgramAccountsFilter[]; postFilter?(pool: Pool): Pool | null; decode(address: PublicKey, data: Buffer): Pool; } export declare function registerProtocol(fetcher: ProtocolFetcher): void; export declare function listProtocols(): readonly ProtocolFetcher[];