/** * 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, PluginSourceType, ServerPlatform } 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: PluginSourceType; private static readonly API_BASE; private minecraftVersion; private serverPlatform; private versionCache; constructor(options?: BaseSourceOptions); clearCache(): void; setMinecraftVersion(version: string): void; /** * Select the server platform whose loaders drive version filtering (W3 * platform groundwork; default 'bukkit' — unchanged behavior). Mirrors the * setMinecraftVersion invalidation pattern, but clears the PluginInfo cache * too: cached info embeds platform-specific files/loaders. */ setServerPlatform(platform: ServerPlatform): void; getPluginInfo(slugOrId: string): Promise; searchPlugins(query: string, limit?: number): Promise; getLatestVersion(slugOrId: string): Promise; /** * Get versions for a project with loader/version filtering */ private getVersionsForProject; supportsMinecraftVersion(mcVersion: string): Promise; protected buildHeaders(additional?: Record): Record; private parseProject; } //# sourceMappingURL=modrinth.d.ts.map