/**
 * Hangar Source
 *
 * Fetches plugin information from Hangar (PaperMC's official plugin repository)
 * API Docs: https://hangar.papermc.io/api-docs
 */
import type { PluginInfo, SourceType } from '../types/index.js';
import { BasePluginSource } from './base.js';
/**
 * HangarSource implementation
 */
export declare class HangarSource extends BasePluginSource {
    readonly id = "hangar";
    readonly name = "Hangar";
    readonly type: SourceType;
    private static readonly API_BASE;
    private minecraftVersion;
    /**
     * Set the target Minecraft version for filtering
     */
    setMinecraftVersion(version: string): void;
    /**
     * Get plugin info by project slug
     */
    getPluginInfo(slug: string): Promise<PluginInfo | null>;
    /**
     * Search for plugins
     */
    searchPlugins(query: string, limit?: number): Promise<PluginInfo[]>;
    /**
     * Get latest version for a project
     */
    getLatestVersion(slug: string): Promise<string | null>;
    /**
     * Get versions for a project with platform filtering
     */
    private getVersionsForProject;
    /**
     * Get project members (authors)
     */
    private getProjectMembers;
    /**
     * Check if a Minecraft version matches a version range
     */
    private versionMatches;
    /**
     * Compare two version strings
     * Returns: -1 if a < b, 0 if a == b, 1 if a > b
     */
    private compareVersions;
    /**
     * Check if source supports a Minecraft version
     */
    supportsMinecraftVersion(mcVersion: string): Promise<boolean>;
    /**
     * Override headers to include Hangar-specific headers
     */
    protected buildHeaders(additional?: Record<string, string>): Record<string, string>;
    /**
     * Parse Hangar project and version into PluginInfo
     */
    private parseProject;
}
//# sourceMappingURL=hangar.d.ts.map