/**
 * CLIProxy Binary Service
 *
 * Handles CLIProxyAPI binary version management:
 * - Get current version status
 * - Install specific versions
 * - Install latest version
 * - Version pinning
 */
import { CLIProxyBackend } from '../types';
/** Binary status result */
export interface BinaryStatusResult {
    installed: boolean;
    currentVersion: string | null;
    pinnedVersion: string | null;
    binaryPath: string;
    fallbackVersion: string;
    backend: CLIProxyBackend;
}
/** Install result */
export interface InstallResult {
    success: boolean;
    version: string;
    error?: string;
    wasPinned?: boolean;
}
/** Latest version check result */
export interface LatestVersionResult {
    success: boolean;
    latestVersion?: string;
    currentVersion?: string;
    updateAvailable?: boolean;
    error?: string;
}
/**
 * Get current binary status for a specific backend
 */
export declare function getBinaryStatus(backend?: CLIProxyBackend): BinaryStatusResult;
/**
 * Check for latest version
 */
export declare function checkLatestVersion(backend?: CLIProxyBackend): Promise<LatestVersionResult>;
/**
 * Validate version format (supports X.Y.Z or X.Y.Z-N suffix)
 */
export declare function isValidVersionFormat(version: string): boolean;
/**
 * Install a specific version and pin it
 */
export declare function installVersion(version: string, verbose?: boolean, backend?: CLIProxyBackend): Promise<InstallResult>;
/**
 * Install latest version and clear any pin
 */
export declare function installLatest(verbose?: boolean, backend?: CLIProxyBackend): Promise<InstallResult>;
/**
 * Check if a version is pinned
 */
export declare function isPinned(backend?: CLIProxyBackend): boolean;
/**
 * Get pinned version if any
 */
export declare function getPinned(backend?: CLIProxyBackend): string | null;
/**
 * Clear version pin
 */
export declare function clearPin(backend?: CLIProxyBackend): void;
//# sourceMappingURL=binary-service.d.ts.map