/**
* State-location overrides that influence where the CLI keeps its home
* directory and its two state files. A subset of the broader
* `ConnectionOverrides`, restated here so this module (the single source of
* truth for on-disk locations) has no runtime dependency on `config.ts`.
*/
export interface PathOverrides {
/** Explicit home root from the `--home` flag. Wins over `$BTCR2_HOME`. */
home?: string;
/** Explicit config-file path from the `--config` flag. Overrides the home default. */
config?: string;
/** Explicit keystore path from the `--keystore` flag. Overrides the home default. */
keystore?: string;
}
/** Environment variable naming the CLI home directory (all state colocated). */
export declare const ENV_HOME = "BTCR2_HOME";
/** The config and keystore file names, kept side by side under the home root. */
export declare const CONFIG_FILENAME = "config.json";
export declare const KEYSTORE_FILENAME = "keystore.json";
/** The session file name, holding the unlock agent's cached passphrase (ADR 081). */
export declare const SESSION_FILENAME = "session.json";
/**
* Resolves the CLI home directory: the single root that holds `config.json` and
* `keystore.json` side by side (ADR 079). Resolution order, highest wins:
*
* 1. `--home
` (the {@link PathOverrides.home} flag)
* 2. `$BTCR2_HOME`
* 3. the platform default (see {@link platformDefaultHome})
*
* A blank value at any layer defers to the next, mirroring the `blankToUndef`
* treatment every other precedence layer uses, so an exported-but-empty
* `BTCR2_HOME` does not resolve the home to a bare relative path.
*/
export declare function resolveHome(overrides?: PathOverrides): string;
/**
* The default home when no `--home` / `$BTCR2_HOME` override is present, chosen
* per OS so the location is idiomatic while staying a single colocated dir:
*
* - Windows: `%LOCALAPPDATA%\btcr2` (fallback `%APPDATA%\btcr2`, then the user
* profile), the native place for per-user application state.
* - Linux / macOS: `~/.btcr2`, the short, teachable dot-directory in the same
* family as `~/.ssh`, `~/.aws`, and `~/.gnupg`.
*/
export declare function platformDefaultHome(): string;
/**
* Default config-file path: `/config.json`. The `--config` flag, when
* present, overrides it wholesale (it names a specific file, not a home).
*/
export declare function defaultConfigPath(overrides?: PathOverrides): string;
/**
* Default keystore path: `/keystore.json`. The `--keystore` flag and a
* profile's `identity.keystore` (resolved in `config.ts`) override it; this
* function is the final fallback in that chain.
*/
export declare function defaultKeystorePath(overrides?: PathOverrides): string;
/**
* Session file path: `/session.json`, where the unlock agent caches the
* keystore passphrase (ADR 081). Deliberately derived from the home root alone,
* never from `--config` / `--keystore` or the config file, so `keystore lock`
* can revoke a session even under a malformed config, and so the read and write
* paths always agree on one location per home.
*/
export declare function defaultSessionPath(overrides?: PathOverrides): string;
//# sourceMappingURL=paths.d.ts.map