/**
 * @file Path resolution utilities — `resolve`, `relative`, `relativeResolve`.
 *   Split out of `paths/normalize.ts` for size hygiene.
 *
 *   - `resolve` — Node-style `path.resolve()` over absolute-path semantics
 *   - `relative` — relative path from one absolute to another
 *   - `relativeResolve` — `relative` + `normalizePath` convenience wrapper
 */
/**
 * Calculate the relative path from one path to another.
 *
 * Both inputs are resolved to absolute paths first, then compared to find the
 * longest common base, and finally a relative path is constructed using `../`
 * for parent-directory traversal.
 *
 * Windows file systems are case-insensitive; the comparison reflects that.
 *
 * @example
 *   ;```typescript
 *   relative('/foo/bar', '/foo/baz') // '../baz'
 *   relative('/foo/bar/baz', '/foo') // '../..'
 *   relative('/foo', '/foo/bar') // 'bar'
 *   relative('/foo/bar', '/foo/bar') // ''
 *   ```
 *
 * @param {string} from - Source path.
 * @param {string} to - Destination path.
 *
 * @returns {string} Relative path from `from` to `to`, or empty string if equal
 */
export declare function relative(from: string, to: string): string;
/**
 * Get the normalized relative path from one path to another.
 *
 * Computes the relative path using `relative()` then runs the result through
 * `normalizePath()`. Empty strings (same path) are preserved verbatim rather
 * than collapsed to `.`.
 *
 * @example
 *   ;```typescript
 *   relativeResolve('/foo/bar', '/foo/baz') // '../baz'
 *   relativeResolve('/foo/bar', '/foo/bar') // ''
 *   relativeResolve('/foo/./bar', '/foo/baz') // '../baz'
 *   ```
 *
 * @param {string} from - Source path.
 * @param {string} to - Destination path.
 *
 * @returns {string} Normalized relative path, or empty string if equal
 */
export declare function relativeResolve(from: string, to: string): string;
/**
 * Resolve an absolute path from path segments.
 *
 * Mimics Node.js `path.resolve()`: processes segments right-to-left, stops at
 * the first absolute segment, and prepends the cwd if no absolute segment is
 * found. The final path is normalized.
 *
 * @example
 *   ;```typescript
 *   resolve('foo', 'bar', 'baz') // '/cwd/foo/bar/baz'
 *   resolve('/foo', 'bar', 'baz') // '/foo/bar/baz'
 *   resolve('foo', '/bar', 'baz') // '/bar/baz'
 *   resolve() // '/cwd'
 *   ```
 *
 * @param {...string} segments - Path segments to resolve.
 *
 * @returns {string} The resolved absolute path
 */
export declare function resolve(...segments: string[]): string;
