/** * fourMM configuration management. * * Stored at ~/.fourmm/config.json. Supports env var overrides for RPC and * sensitive values (so users don't have to write secrets to disk). * * Precedence: env var > config file > default. * * Paths are exposed as functions (not constants) so that tests can redirect * HOME via `process.env.HOME = tmpDir` before each test — `os.homedir()` * re-reads the HOME env var on each call, so lazy functions see the change. */ export type Network = 'bsc' | 'bsc-testnet'; export type CliConfig = { /** BSC RPC endpoint URL */ rpcUrl: string; /** Fallback RPC endpoints (tried on primary failure) */ fallbackRpcUrls: string[]; /** Network selection */ network: Network; /** Default slippage in basis points (100 = 1%) */ defaultSlippageBps: number; /** Default gas price multiplier applied to RPC estimate (1.0 = no multiplier) */ gasPriceMultiplier: number; /** Default priority fee in gwei */ defaultPriorityFeeGwei: number; /** Output format default */ outputFormat: 'toon' | 'json' | 'yaml' | 'md' | 'jsonl'; /** BSCScan API key (optional, for verification workflows) */ bscscanApiKey: string; /** GeckoTerminal base URL (override for rate limit bypass) */ geckoTerminalUrl: string; /** Four.meme REST API base URL (used for token variant identification) */ fourmemeApiUrl: string; }; /** Root directory for fourMM state */ export declare function fourmDir(): string; /** Config file location */ export declare function configFile(): string; /** Encrypted wallet groups store directory */ export declare function walletsDir(): string; /** DataStore root (token info, holdings, balances, transactions) */ export declare function dataDir(): string; /** Logs directory */ export declare function logsDir(): string; /** Ensure ~/.fourmm and subdirs exist with tight permissions */ export declare function ensureFourmmDirs(): void; /** Load config from ~/.fourmm/config.json (or defaults if absent) */ export declare function loadConfig(): CliConfig; /** Save config to disk */ export declare function saveConfig(config: CliConfig): void; /** Initialize config (write defaults + any overrides) */ export declare function initConfig(overrides?: Partial): CliConfig; /** Get a single config value by key */ export declare function getConfigValue(key: string): unknown; /** Set a single config value with type coercion */ export declare function setConfigValue(key: string, rawValue: string): void; //# sourceMappingURL=config.d.ts.map