/**
 * useServerDownload Hook
 *
 * Manages server JAR download workflow state
 */
import type { ServerJarDownloadResult, ServerJarType } from '../../core/server-jar/index.js';
import { type ServerDownloadProgress } from '../../workflows/server-download.js';
export interface UseServerDownloadOptions {
    outputDir: string;
    backupExisting?: boolean;
    backupDir?: string;
}
export interface ServerDownloadState {
    progress: ServerDownloadProgress | null;
    result: ServerJarDownloadResult | null;
    availableVersions: string[];
    loading: boolean;
    loadingVersions: boolean;
    error: string | null;
    download: (serverType: ServerJarType, version: string) => Promise<void>;
    fetchVersions: (serverType: ServerJarType) => Promise<void>;
    clear: () => void;
}
/**
 * Hook for managing server JAR download workflow
 */
export declare function useServerDownload(options: UseServerDownloadOptions): ServerDownloadState;
//# sourceMappingURL=useServerDownload.d.ts.map