/**
 * Path Utilities for Windows Long Path Support
 *
 * Handles Windows paths longer than 260 characters using the \\?\ prefix.
 * Provides graceful degradation when long path support is disabled.
 *
 * Windows Long Path Support:
 * - Enabled by default in Windows 10 1607+ (with registry key)
 * - Registry key: HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled = 1
 * - Also requires application manifest with longPathAware = true
 *
 * @module core/lazy-loading/path-utils
 */
import * as fs from 'fs';
/** Windows max path length without long path support */
export declare const WIN_MAX_PATH = 260;
/** Windows max path with \\?\ prefix */
export declare const WIN_LONG_PATH_MAX = 32767;
/** Long path prefix for Windows */
export declare const WIN_LONG_PATH_PREFIX = "\\\\?\\";
/**
 * Check if running on Windows
 */
export declare function isWindows(): boolean;
/**
 * Check if long paths are enabled in Windows registry
 * Returns true on non-Windows platforms
 */
export declare function isLongPathEnabled(): boolean;
/**
 * Convert path to Windows long path format (\\?\)
 * Only applies on Windows for paths > 260 characters
 */
export declare function toLongPath(inputPath: string): string;
/**
 * Convert long path format back to regular path
 */
export declare function fromLongPath(inputPath: string): string;
/**
 * Safely create directory, handling long paths on Windows
 */
export declare function mkdirSafe(dirPath: string, options?: {
    recursive?: boolean;
    mode?: number;
}): void;
/**
 * Safely copy file, handling long paths on Windows
 */
export declare function copyFileSafe(src: string, dest: string): void;
/**
 * Safely check if path exists, handling long paths on Windows
 */
export declare function existsSafe(targetPath: string): boolean;
/**
 * Safely read directory, handling long paths on Windows
 */
export declare function readdirSafe(dirPath: string): string[];
/**
 * Safely remove directory, handling long paths on Windows
 */
export declare function rmSafe(targetPath: string, options?: fs.RmOptions): void;
/**
 * Calculate total path length after joining
 */
export declare function calculatePathLength(...segments: string[]): number;
/**
 * Check if a path would exceed Windows MAX_PATH limit
 */
export declare function wouldExceedMaxPath(...segments: string[]): boolean;
/**
 * Get registry documentation for enabling long paths
 */
export declare function getLongPathRegistryDoc(): string;
/**
 * Validate path length and return warning if needed
 */
export declare function validatePathLength(targetPath: string): {
    valid: boolean;
    warning?: string;
};
/**
 * Copy directory recursively with long path support
 */
export declare function copyDirSafe(src: string, dest: string): {
    success: boolean;
    error?: string;
};
/**
 * Get path info for debugging
 */
export declare function getPathInfo(targetPath: string): {
    original: string;
    absolute: string;
    longPath: string;
    length: number;
    wouldNeedLongPath: boolean;
    longPathEnabled: boolean;
};
//# sourceMappingURL=path-utils.d.ts.map