import type { TCoreUnitInput, TCoreConvertOptions } from '../../localTypes/factories/converterCores';
/**
 * Convert cores -> target unit (core/mcore/ucore/ncore).
 * The input `cores` is ALWAYS in **cores** (base unit).
 *
 * @returns number by default (e.g., 0.5 -> 500 when unit="mcore"),
 *          or "500 mcore" if format=true
 */
export declare const convertCores: (cores: number, unit: TCoreUnitInput, opts?: TCoreConvertOptions) => number | string;
/**
 * Auto-scale cores across core/mcore/ucore/ncore.
 *
 * - cores >= 1        -> core
 * - 1e-3 <= cores < 1 -> mcore
 * - 1e-6 <= cores < 1e-3 -> ucore
 * - cores < 1e-6      -> ncore
 */
export declare const formatCoresAuto: (cores: number, options?: {
    precision?: number;
    locale?: string;
    showUnit?: boolean;
}) => string;
/** Internal helper: convert value in given unit -> cores (number). */
export declare const toCores: (value: number, from: TCoreUnitInput) => number;
/**
 * Generic helper: convert value in some unit -> target unit.
 * Uses cores as intermediate.
 *
 * Examples:
 *   convertCompute(500, "m", "core")               // 0.5
 *   convertCompute(2, "core", "m", {format: true}) // "2,000 mcore" (or locale variant)
 *   convertCompute(1_000_000, "n", "core")         // 0.001
 */
export declare const convertCompute: (value: number, from: TCoreUnitInput, to: TCoreUnitInput, opts?: TCoreConvertOptions) => number | string;
/**
 * Try to parse a string like:
 *   "500m"
 *   "  0.5 core"
 *   "2 vcpu"
 *   "1000000n"
 *   "1.5"   (no unit -> unit undefined, treated as raw number-of-cores upstream)
 */
export declare const parseCoresWithUnit: (input: string) => {
    value: number;
    unit?: string | undefined;
} | null;
