/**
 * doc_parity.ts — Story 7.2
 *
 * Reusable helpers for "documentation makes a claim about CLI surface — is it
 * still true?" tests. Used by:
 *   - test_cli_doc_parity.ts        (root help vs README quick-start)
 *   - test_multi_host_docs_parity.ts (per-host install docs vs CLI)
 *   - test_aiobuilder_cli_parity.ts (squad doc verbs vs aiobuilder sub-commands)
 *
 * Each helper is intentionally tiny. The goal is fewer copy-pasted regex
 * loops across parity tests, not an inheritance hierarchy.
 */
export interface SpawnHelpResult {
    ok: boolean;
    status: number | null;
    help: string;
}
/** Spawn `node bin/openlife.js <args> --help` and return the merged stdout/stderr. */
export declare function spawnCliHelp(args?: string[], timeoutMs?: number): SpawnHelpResult;
/**
 * Extract Commander sub-command names from a help block.
 * Commander prints each sub-command starting at column 2: "  <name> [options]...".
 */
export declare function extractCommanderCommands(helpText: string): Set<string>;
/**
 * Read a doc file and extract every token matching `re` (must have one capture group).
 * Returns a sorted, de-duplicated list. Throws if the file does not exist.
 */
export declare function extractDocTokens(docPath: string, re: RegExp): string[];
export interface ParityVerdict {
    ok: boolean;
    matched: Array<{
        token: string;
        via: string;
    }>;
    missing: string[];
    total: number;
}
/**
 * Assert every doc token corresponds to a CLI command (direct or via alias map).
 * Returns a verdict object — callers decide whether to throw, log, or annotate.
 */
export declare function assertCliParity(docTokens: string[], cliCommands: Set<string>, aliasMap?: Record<string, string>): ParityVerdict;
