/**
 * Modrinth Source
 *
 * Fetches plugin information from Modrinth using API v2
 * API Docs: https://docs.modrinth.com/
 *
 * @since v1.0.0
 * @updated v1.37.0 - Uses enhanced caching and retry support
 */
import type { PluginInfo, SourceType } from '../types/index.js';
import { BasePluginSource, type BaseSourceOptions } from './base.js';
/**
 * ModrinthSource implementation
 *
 * Uses enhanced caching with statistics and automatic retry on transient failures.
 */
export declare class ModrinthSource extends BasePluginSource {
    readonly id = "modrinth";
    readonly name = "Modrinth";
    readonly type: SourceType;
    private static readonly API_BASE;
    private minecraftVersion;
    private versionCache;
    constructor(options?: BaseSourceOptions);
    /**
     * Set the target Minecraft version for filtering
     */
    setMinecraftVersion(version: string): void;
    /**
     * Get plugin info by project slug or ID
     */
    getPluginInfo(slugOrId: string): Promise<PluginInfo | null>;
    /**
     * Search for plugins
     */
    searchPlugins(query: string, limit?: number): Promise<PluginInfo[]>;
    /**
     * Get latest version for a project
     */
    getLatestVersion(slugOrId: string): Promise<string | null>;
    /**
     * Get versions for a project with loader/version filtering
     */
    private getVersionsForProject;
    /**
     * Check if source supports a Minecraft version
     */
    supportsMinecraftVersion(mcVersion: string): Promise<boolean>;
    /**
     * Parse Modrinth project and version into PluginInfo
     */
    private parseProject;
}
//# sourceMappingURL=modrinth.d.ts.map