export type LogLevel = 'debug' | 'info' | 'warn' | 'error'; export interface CliRuntimeFlags { serveOnly: boolean; cdpPort: number; /** Whether --cdp-port was explicitly specified */ explicitCdpPort: boolean; electron: boolean; electronApp: string | null; kill: boolean; lead: boolean; leadWorkerBaseUrl: string | null; profile: string | null; join: boolean; joinUrl: string | null; logLevel: LogLevel; logDir: string | null; /** Initial prompt to auto-submit when the UI loads */ prompt: string | null; /** Path to a .env file for secrets */ envFile: string | null; version: boolean; hosted: boolean; /** Download the released Go `slicc` follower CLI and exit */ installCli: boolean; /** Target directory for --install-cli (default: OS-idiomatic, see install-cli.ts) */ installDir: string | null; /** * Mount table: OS-folder → SLICC-target mappings served over the local * host-FS bridge (`/api/hostfs`) and auto-mounted by the webapp at boot, * with no picker and no Chrome permission prompt. Filled by repeatable * `--mount=:` / `--mount :` * flags. Picker-initiated (`mount `) FS-Access mounts are * unaffected and keep asking for permission. */ mounts: HostMountMapping[]; } /** One `--mount` entry: an absolute OS folder mapped to a VFS target. */ export interface HostMountMapping { hostPath: string; path: string; } export declare const DEFAULT_CLI_CDP_PORT = 9222; export declare const DEFAULT_ELECTRON_ATTACH_CDP_PORT = 9223; /** * Parse a `--mount` value of the form `:`. The split is * on the LAST `:` whose remainder is an absolute path, so OS paths containing * `:` still parse. A leading `~/` on the OS side expands against `homeDir`. * Returns null (never a partial mapping) for anything else, so a stray * `--mount=` or a one-sided value never lands in the table. */ export declare function parseMountTableMapping(value: string, homeDir?: string): HostMountMapping | null; export declare function parseCliRuntimeFlags(argv: string[]): CliRuntimeFlags;