/** Local `todos` CLI transport used by route drains and route-tasks commands. */ export declare function defaultLoopsProject(): string; export declare function defaultTodosProject(): string | undefined; export declare function todosCliArgs(project: string | undefined, args: string[]): string[]; export interface LocalCommandResult { ok: boolean; /** * `undefined` is reachable and is NOT the same as `null`. Measured on bun 1.3.14: * `spawnSync` reports a missing binary (ENOENT) and a non-executable file * (EACCES) as `status: undefined`, while a timeout kill (ETIMEDOUT), a maxBuffer * overflow (ENOBUFS) and a signal kill report `status: null`. Declaring only * `number | null` let TypeScript narrow `typeof status !== "number"` down to * `null`, which tells a reader the ENOENT branch is dead code and invites * "simplifying" it to `=== null` — reintroducing a silent drop for the most * likely misconfiguration. Callers must treat any non-number as "no answer". */ status: number | null | undefined; stdout: string; stderr: string; error: string; } export declare function runLocalCommand(command: string, args: string[], opts?: { input?: string; timeoutMs?: number; maxBuffer?: number; }): LocalCommandResult; export declare function runLocalCommandWithStdoutFile(command: string, args: string[], opts?: { input?: string; timeoutMs?: number; maxBuffer?: number; }): LocalCommandResult; export declare function ensureTodosTaskList(project: string, slug: string, name: string, description: string): string; export declare function todosMutationSummary(result: LocalCommandResult): Record;