/** * GeyserMC Source * * Fetches plugin information from GeyserMC's download API * API: https://download.geysermc.org/v2/ * * @since v2.3.4 */ import type { PluginInfo, PluginSourceType, ServerPlatform } from '../types/index.js'; import { BasePluginSource } from './base.js'; /** * GeyserMC download platform identifiers */ type GeyserMCPlatform = 'bungee' | 'bungeecord' | 'fabric' | 'neoforge' | 'spigot' | 'standalone' | 'velocity' | 'viaproxy'; /** * GeyserMCSource implementation */ export declare class GeyserMCSource extends BasePluginSource { readonly id = "geysermc"; readonly name = "GeyserMC"; readonly type: PluginSourceType; private static readonly API_BASE; private platform; /** * Set the target platform for downloads (default: spigot) */ setPlatform(platform: GeyserMCPlatform): void; /** * Map a server-level {@link ServerPlatform} onto GeyserMC's download keys * (W3 platform groundwork). Thin wrapper over {@link setPlatform} so the * key knowledge stays in this module. No cache clear needed — the cache * key already embeds the platform. */ setServerPlatform(platform: ServerPlatform): void; /** * Get plugin info by project ID (e.g., "geyser", "floodgate") */ getPluginInfo(projectId: string): Promise; /** * Search is not supported by GeyserMC API — returns empty */ searchPlugins(_query: string, _limit?: number): Promise; /** * Get latest version for a project */ getLatestVersion(projectId: string): Promise; /** * Get a brief description for known GeyserMC projects */ private getProjectDescription; } export {}; //# sourceMappingURL=geysermc.d.ts.map