/**
 * Global configuration: paths, constants, and environment detection.
 *
 * This is the lowest layer in the import hierarchy — 0 internal imports.
 * Everything else in the codebase can import from here safely.
 *
 * Provides: version, app name, package/asset paths, user config paths
 * (~/.shortcut/agent/*), install-method detection, own-binary resolution
 * for spawning subagents, and platform-specific Python paths.
 */
/** Render a human-readable instruction for updating the shipped package. */
export declare function getUpdateInstruction(packageName: string): string;
/**
 * Get the shell command to auto-update the agent package.
 */
export declare function getUpdateCommand(packageName: string): string;
/**
 * Get the base directory for resolving package assets (themes, package.json, README.md, CHANGELOG.md).
 * - For Node.js (dist/): returns __dirname (the dist/ directory)
 * - For tsx (src/): returns parent directory (the package root)
 */
export declare function getPackageDir(): string;
/**
 * Returns true when running directly from a source checkout (tsx / repo root),
 * not from an installed package payload.
 *
 * Set by `pnpm dev` via SHORTCUT_FORCE_SOURCE_CHECKOUT=1. Intentionally not
 * auto-detected — explicit is better than fragile heuristics.
 */
export declare function isSourceCheckout(): boolean;
/**
 * Get path to built-in default skills directory (shipped with package).
 * Located at skills/ in the package root.
 */
export declare function getBundledSkillsDir(): string;
/**
 * Get path to built-in themes directory (shipped with package)
 * - For Node.js (dist/): dist/shell/theme/
 * - For tsx (src/): src/shell/theme/
 */
export declare function getThemesDir(): string;
/**
 * Get path to HTML export template directory (shipped with package)
 * - For Node.js (dist/): dist/shell/export-html/
 * - For tsx (src/): src/shell/export-html/
 */
export declare function getExportTemplateDir(): string;
/** Get path to agent-docs/docs directory (used for system prompt context) */
export declare function getDocsPath(): string;
/** Get path to user-facing documentation HTML */
export declare function getUserDocsPath(): string;
/** Get path to CHANGELOG.md */
export declare function getChangelogPath(): string;
export declare const APP_NAME: string;
export declare const CONFIG_DIR_NAME: string;
export declare const VERSION: string;
export declare const NPM_PACKAGE_NAME: string;
export declare const ENV_AGENT_DIR: string;
/** Skills that can be invoked with a bare /name (no /skill: prefix). */
export declare const BARE_SKILL_NAMES: ReadonlySet<string>;
/** Default sandbox network mode. 'proxy' gives domain-level control with user approval. */
export declare const DEFAULT_SANDBOX_NETWORK: 'none' | 'proxy' | 'full';
/** Whether the new headless sheet engine is enabled. Env var takes precedence over settings.json. */
export declare function isNewSheetForcedEnabled(): boolean;
export declare function isNewSheetEnabled(): boolean;
/** npm registry URL for version checks. */
export declare const NPM_REGISTRY_URL: string;
/**
 * Resolve how to spawn another instance of this CLI.
 *
 * Returns [command, ...prefixArgs] such that:
 *   spawn(command, [...prefixArgs, '--mode', 'json', ...])
 * produces a child running the real ShortcutXL CLI.
 *
 * Resolution order:
 * 1. Source checkout → ['node', '--import', 'tsx', '/abs/path/to/src/cli.ts']
 * 2. Built package → ['node', '/abs/path/to/dist/cli.js']
 * 3. Global install fallback (bin in PATH) → ['shortcut']
 */
export declare function resolveOwnBinary(): [string, ...string[]];
/** Get the agent config directory (e.g., ~/.shortcut/agent/) */
export declare function getAgentDir(): string;
export declare function getStableXllDir(): string;
/** Get path to user's custom themes directory */
export declare function getCustomThemesDir(): string;
/** Get path to models.json */
export declare function getModelsPath(): string;
/** Get path to auth.json */
export declare function getAuthPath(): string;
/** Get path to settings.json */
export declare function getSettingsPath(): string;
/** Get path to startup-owned runtime update cache. */
export declare function getUpdateCachePath(): string;
/** Get path to managed binaries directory (fd, rg) */
export declare function getBinDir(): string;
/** Get path to prompt templates directory */
export declare function getPromptsDir(): string;
/** Get path to sessions directory */
export declare function getSessionsDir(): string;
/** Get path to durable-memory directory */
export declare function getMemoriesDir(): string;
/** Get path to WSL distro storage directory (imported distro lives here) */
export declare function getWslDir(): string;
/** Get path to the Alpine rootfs tarball. Prefers user-local (downloaded), falls back to package dir (local dev). */
export declare function getAlpineRootfsPath(): string;
/** GitHub Release download URL for the Alpine rootfs tarball (hosted on public repo). */
export declare function getAlpineRootfsDownloadUrl(version: string): string;
/** Get path to debug log file */
export declare function getDebugLogPath(): string;
/** Get path to installed marker file */
export declare function getInstalledMarkerPath(): string;
/** Check if ShortcutXL installation has been completed (marker file exists). */
export declare function isInstalled(): boolean;
/** Get path to ShortcutXL.xll (stable user-local copy at ~/.shortcut/agent/xll/). */
export declare function getXllPath(): string;
/** Get path to the embedded Python directory (shipped with the npm package — Windows only). */
export declare function getEmbeddedPythonDir(): string;
/** Get path to the embedded python.exe (Windows only). */
export declare function getEmbeddedPythonExe(): string;
/** Get path to the uv binary (macOS only — Windows uses embedded Python). */
export declare function getUvBinPath(): string;
/** Get path to the uv-managed Python directory. */
export declare function getUvPythonDir(): string;
/** Get path to the uv-managed venv directory. */
export declare function getUvVenvDir(): string;
/**
 * Get directories to prepend to PATH so that `python3`, `pip`, and
 * pip-installed entry points (e.g. playwright) resolve correctly.
 *
 * On macOS, the venv bin/ serves as both Python bin dir and scripts dir,
 * so only one entry is returned. On Windows, the embedded Python dir and its
 * Scripts/ subdirectory are separate.
 *
 * Returns deduplicated entries — safe to spread into a PATH array.
 */
export declare function getPythonPathDirs(): string[];
/** Bind the per-session agent temp directory to a (cwd, sessionId) pair. */
export declare function configureAgentTempDir(cwd: string, sessionId: string | undefined): void;
/** Lazily create and return the configured per-session agent temp directory. */
export declare function getAgentTempDir(): string;
//# sourceMappingURL=config.d.ts.map