/**
 * @file Path utilities for Socket ecosystem directories. Provides
 *   platform-aware path resolution for Socket tools' shared directory
 *   structure. Directory Structure: ~/.socket/ ├── _cacache/ #
 *   Content-addressable cache for npm packages ├── _dlx/ # DLX installations
 *   (content-addressed by hash) │ ├── <hash>/ # npm package installs
 *   (dlx-package) │ └── <hash>/ # binary downloads (dlx-binary) ├── _socket/ #
 *   Socket CLI app directory ├── _registry/ # Socket Registry app directory └──
 *   _sfw/ # Socket Firewall app directory.
 */
/**
 * Get the OS home directory. Can be overridden in tests using
 * setPath('homedir', ...) from paths/rewire.
 */
export declare function getOsHomeDir(): string;
/**
 * Get the OS temporary directory. Can be overridden in tests using
 * setPath('tmpdir', ...) from paths/rewire.
 */
/**
 * Get the OS temporary directory. Can be overridden in tests using
 * setPath('tmpdir', ...) from paths/rewire.
 */
export declare function getOsTmpDir(): string;
/**
 * Get a Socket app cache directory (~/.socket/_<appName>/cache).
 */
/**
 * Get a Socket app cache directory (~/.socket/_<appName>/cache).
 */
export declare function getSocketAppCacheDir(appName: string): string;
/**
 * Get a Socket app TTL cache directory (~/.socket/_<appName>/cache/ttl).
 */
/**
 * Get a Socket app TTL cache directory (~/.socket/_<appName>/cache/ttl).
 */
export declare function getSocketAppCacheTtlDir(appName: string): string;
/**
 * Get a Socket app directory (~/.socket/_<appName>).
 */
/**
 * Get a Socket app directory (~/.socket/_<appName>).
 */
export declare function getSocketAppDir(appName: string): string;
/**
 * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
 * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
 * is cached via getPathValue for performance.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-cacache-dir', ...)
 * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
 * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
 */
/**
 * Get the Socket cacache directory (~/.socket/_cacache). Can be overridden with
 * SOCKET_CACACHE_DIR environment variable or via setPath() for testing. Result
 * is cached via getPathValue for performance.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-cacache-dir', ...)
 * 2. SOCKET_CACACHE_DIR - Full override of cacache directory
 * 3. Default: $SOCKET_HOME/_cacache or $HOME/.socket/_cacache
 */
export declare function getSocketCacacheDir(): string;
/**
 * Get the Socket CLI directory (~/.socket/_socket).
 */
/**
 * Get the Socket CLI directory (~/.socket/_socket).
 */
export declare function getSocketCliDir(): string;
/**
 * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
 * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
 * cached via getPathValue for performance.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-dlx-dir', ...)
 * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
 * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
 * 4. Default: $HOME/.socket/_dlx
 * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
 */
/**
 * Get the Socket DLX directory (~/.socket/_dlx). Can be overridden with
 * SOCKET_DLX_DIR environment variable or via setPath() for testing. Result is
 * cached via getPathValue for performance.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-dlx-dir', ...)
 * 2. SOCKET_DLX_DIR - Full override of DLX cache directory
 * 3. SOCKET_HOME/_dlx - Base directory override (inherits from getSocketUserDir)
 * 4. Default: $HOME/.socket/_dlx
 * 5. Fallback: /tmp/.socket/_dlx (Unix) or %TEMP%.socket_dlx (Windows)
 */
export declare function getSocketDlxDir(): string;
/**
 * Get the Socket home directory (~/.socket). Alias for getSocketUserDir() for
 * consistency across Socket projects.
 */
/**
 * Get the Socket home directory (~/.socket). Alias for getSocketUserDir() for
 * consistency across Socket projects.
 */
export declare function getSocketHomePath(): string;
/**
 * Get the Socket Registry directory (~/.socket/_registry).
 */
/**
 * Get the Socket Registry directory (~/.socket/_registry).
 */
export declare function getSocketRegistryDir(): string;
/**
 * Get the Socket Registry GitHub cache directory
 * (~/.socket/_registry/cache/ttl/github).
 */
/**
 * Get the Socket Registry GitHub cache directory
 * (~/.socket/_registry/cache/ttl/github).
 */
export declare function getSocketRegistryGithubCacheDir(): string;
/**
 * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
 * cross-fleet location for binaries that every fleet member can reach without
 * each one re-downloading and re-extracting per-repo. Tool installers (janus,
 * sfw, etc.) drop their resolved executables under
 * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
 * appropriate `bin/` to PATH or invoke the binary by absolute path.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-wheelhouse-dir', ...)
 * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
 *    getSocketUserDir)
 * 3. Default: $HOME/.socket/_wheelhouse
 */
/**
 * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
 * environment variable or via setPath() for testing. Result is cached via
 * getPathValue for performance.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-user-dir', ...)
 * 2. SOCKET_HOME - Base directory override
 * 3. Default: $HOME/.socket
 * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
 */
export declare function getSocketUserDir(): string;
/**
 * Get the user's home directory. Uses environment variables directly to support
 * test mocking. Falls back to temporary directory if home is not available.
 *
 * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
 * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
 * getNodeOs().tmpdir() (rarely used, for restricted environments)
 */
/**
 * Get the Socket Wheelhouse directory (~/.socket/_wheelhouse). Shared
 * cross-fleet location for binaries that every fleet member can reach without
 * each one re-downloading and re-extracting per-repo. Tool installers (janus,
 * sfw, etc.) drop their resolved executables under
 * `<wheelhouse>/<tool>/<version>/<platform-arch>/`; consumers add the
 * appropriate `bin/` to PATH or invoke the binary by absolute path.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-wheelhouse-dir', ...)
 * 2. SOCKET_HOME/_wheelhouse - Base directory override (inherits from
 *    getSocketUserDir)
 * 3. Default: $HOME/.socket/_wheelhouse
 */
export declare function getSocketWheelhouseDir(): string;
/**
 * Get the Socket user directory (~/.socket). Can be overridden with SOCKET_HOME
 * environment variable or via setPath() for testing. Result is cached via
 * getPathValue for performance.
 *
 * Priority order:
 *
 * 1. Test override via setPath('socket-user-dir', ...)
 * 2. SOCKET_HOME - Base directory override
 * 3. Default: $HOME/.socket
 * 4. Fallback: /tmp/.socket (Unix) or %TEMP%.socket (Windows)
 */
/**
 * Get the user's home directory. Uses environment variables directly to support
 * test mocking. Falls back to temporary directory if home is not available.
 *
 * Priority order: 1. HOME environment variable (Unix) 2. USERPROFILE
 * environment variable (Windows) 3. getNodeOs().homedir() 4. Fallback:
 * getNodeOs().tmpdir() (rarely used, for restricted environments)
 */
export declare function getUserHomeDir(): string;
