/** * Spigot Source * * Fetches plugin information from SpigotMC using the Spiget API v2 * API Docs: https://spiget.org/documentation */ import type { PluginInfo, PluginSourceType } from '../types/index.js'; import { BasePluginSource } from './base.js'; export declare class SpigotSource extends BasePluginSource { readonly id = "spigot"; readonly name = "SpigotMC"; readonly type: PluginSourceType; private static readonly API_BASE; /** * SpigotMC's OWN legacy update API (official, documented in the SpigotMC * wiki, Cloudflare-exempt — live-verified 2026-06-09 for both free and * premium resources, e.g. resource 3742 → "9.8.7.8"). Returns the latest * version as plain text. Used only as a version-check fallback when Spiget * itself is degraded (itzg/docker-minecraft-server #1307 precedent). */ private static readonly LEGACY_UPDATE_API; getPluginInfo(resourceId: string): Promise; searchPlugins(query: string, limit?: number): Promise; getLatestVersion(resourceId: string): Promise; /** * Fetch the latest version from {@link SpigotSource.LEGACY_UPDATE_API}. * Plain-text response (e.g. `9.8.7.8`); anything HTML-ish or oversized is * treated as "no usable answer". Never throws — this is a best-effort * fallback and the caller already has a primary failure to report. */ private fetchLegacyLatestVersion; buildDownloadUrl(resourceId: string): string; supportsMinecraftVersion(_mcVersion: string): Promise; private buildResourceUrl; private parseResource; private isExternalResource; private isDirectArtifactUrl; private isSafeExternalUrl; } //# sourceMappingURL=spigot.d.ts.map