/**
 * Path utility functions for configurable installation directories
 */
/**
 * Tracks where the install directory was resolved from.
 * - "cli": Explicitly provided via --install-dir flag (transient override)
 * - "config": Read from persisted .nori-config.json
 * - "default": Fallback to home directory
 */
export type InstallDirSource = "cli" | "config" | "default";
/**
 * A resolved installation directory with provenance tracking.
 * The `source` field indicates where the path came from, allowing
 * downstream code to decide whether to persist config or skip manifest ops.
 */
export type ResolvedInstallDir = {
    path: string;
    source: InstallDirSource;
};
/**
 * Normalize an installation directory path
 * @param args - Configuration arguments
 * @param args.installDir - The installation directory (optional)
 * @param args.agentDirNames - Agent config directory basenames to strip from path suffixes (optional)
 *
 * @returns Absolute path to the base installation directory (defaults to home directory)
 */
export declare const normalizeInstallDir: (args: {
    installDir?: string | null;
    agentDirNames?: Array<string> | null;
}) => string;
/**
 * Resolve the installation directory using a priority chain:
 * 1. CLI --install-dir flag (highest priority, source: "cli")
 * 2. configInstallDir from persisted config (source: "config")
 * 3. Home directory (fallback, source: "default")
 *
 * @param args - Configuration arguments
 * @param args.cliInstallDir - Value from CLI --install-dir flag (optional)
 * @param args.configInstallDir - Value from persisted config installDir field (optional)
 * @param args.agentDirNames - Agent config directory basenames to strip from path suffixes (optional)
 *
 * @returns Resolved install directory with provenance tracking
 */
export declare const resolveInstallDir: (args: {
    cliInstallDir?: string | null;
    configInstallDir?: string | null;
    agentDirNames?: Array<string> | null;
}) => ResolvedInstallDir;
//# sourceMappingURL=path.d.ts.map