/**
 * CDN data structure containing Kamino resources for different networks
 */
export interface AllKaminoCdnData {
    'mainnet-beta': KaminoCdnData;
    devnet: KaminoCdnData;
}
/**
 * Kamino CDN data structure
 * This type can be extended with additional fields as needed
 */
export interface KaminoCdnData {
    /**
     * List of deprecated reserve addresses (pubkeys as strings)
     * Note: This field is named 'deprecatedAssets' in the CDN but represents deprecated reserves
     */
    deprecatedAssets: string[];
    [key: string]: unknown;
}
export type CdnCluster = 'mainnet-beta' | 'devnet';
export interface KaminoCdnClientOptions {
    cluster?: CdnCluster;
    ttlMs?: number;
}
/**
 * Client for fetching and caching Kamino CDN resources.
 * Lazily loads data on first access. Concurrent calls share a single in-flight request.
 * Cached data expires after a configurable TTL (default 5 minutes).
 */
export declare class KaminoCdnClient {
    private data;
    private loadedAt;
    private loadPromise;
    private readonly cluster;
    private readonly ttlMs;
    constructor(options?: KaminoCdnClientOptions);
    /** Returns the full CDN data for the configured cluster, lazily fetching if needed */
    getData(): Promise<KaminoCdnData | undefined>;
    /** Clears the cached data, forcing a fresh fetch on next access */
    clear(): void;
    private ensureLoaded;
}
/** Default shared client instance for mainnet-beta */
export declare const kaminoCdn: KaminoCdnClient;
//# sourceMappingURL=cdnClient.d.ts.map