/**
 * Server JAR Types
 *
 * Type definitions for server JAR download feature
 */
/** Supported server JAR types */
export type ServerJarType = 'paper' | 'purpur';
/** Information about a server JAR build */
export interface ServerJarInfo {
    type: ServerJarType;
    version: string;
    build: number | string;
    downloadUrl: string;
    filename: string;
    sha256?: string;
    md5?: string;
}
/** Interface for server JAR sources */
export interface IServerJarSource {
    readonly type: ServerJarType;
    readonly name: string;
    /**
     * Get the latest build for a Minecraft version
     * @param version Minecraft version (e.g., "1.21.1")
     * @returns Build information with download URL
     */
    getLatestBuild(version: string): Promise<ServerJarInfo>;
    /**
     * Get available Minecraft versions
     * @returns List of supported versions
     */
    getAvailableVersions(): Promise<string[]>;
    /**
     * Check if a version is supported
     * @param version Minecraft version to check
     */
    isVersionSupported(version: string): Promise<boolean>;
}
/** Result of a server JAR download operation */
export interface ServerJarDownloadResult {
    success: boolean;
    filePath?: string;
    error?: string;
    buildInfo?: ServerJarInfo;
    checksumVerified?: boolean;
}
//# sourceMappingURL=types.d.ts.map