/** * Shared helpers for `peaks workspace ` implementations. * * Extracted from `src/cli/commands/workspace-commands.ts` (slice * reuse the same hooks-decision marker + prompt logic. Pure helpers * only — no commander / no service calls. Keeping these here means the * per-subcommand files stay focused on their command wiring and option * parsing. */ /** Sticky decision marker for the first-time "install hooks" prompt. */ export declare const HOOKS_DECISION_REL_PATH = ".peaks/.peaks-init-hooks-decision.json"; export type HooksDecision = 'installed' | 'skipped'; export type HooksDecisionMarker = { version: 1; decision: HooksDecision; decidedAt: string; scope: 'project' | 'global'; }; export declare function readDecisionMarker(projectRoot: string): HooksDecisionMarker | null; export declare function writeDecisionMarker(projectRoot: string, decision: HooksDecision): void; /** * Read a yes/no answer from stdin. Returns `true` for empty / Y / y, * `false` for N / n, or `null` when stdin is not a TTY (the caller falls * back to the no-prompt path). Times out after 30s so a piped-but-blocked * stdin never hangs the CLI. */ export declare function promptYesNo(question: string): Promise;