import { Protocol, ApyData, ApyResult, GroupedApys, BestApyResult } from './types';
export declare class ApyFetcher {
    private protocols;
    constructor(protocols?: Protocol[]);
    private initializeProtocols;
    /**
     * Fetch APYs from all configured protocols
     * @param gracefulDegradation - Continue with other protocols if one fails
     */
    fetchApys(gracefulDegradation?: boolean): Promise<ApyData[]>;
    /**
     * Fetch APYs with detailed results per protocol
     */
    fetchApysWithResults(gracefulDegradation?: boolean): Promise<ApyResult[]>;
    /**
     * Get APYs grouped by token symbol
     */
    getApysByToken(gracefulDegradation?: boolean): Promise<GroupedApys>;
    /**
     * Get the best APY for a specific token across all protocols
     */
    getBestApyForToken(tokenSymbol: string, gracefulDegradation?: boolean): Promise<BestApyResult | null>;
    /**
     * Get all available protocols
     */
    getProtocols(): Protocol[];
    /**
     * Add a custom protocol
     */
    addProtocol(protocol: Protocol): void;
}
//# sourceMappingURL=fetcher.d.ts.map