import type { Command } from 'commander'; import type { Config } from '../types/index.js'; /** * `hula info [flags]` — the single command surfacing all of a * plan's info. * * Content keys (`--logs`, `--lastLogs`, `--diff`, `--initial`, `--lessons`) * route to `GET /api/v1/info/:planName` (server PR #421). The provenance flag * `--clientSessionId` routes to `GET /api/v1/ralph-run/:name/status`. * * Output rules (K = total requested keys): * - K == 1, content key → format + open in editor (or `--raw` to stdout). * - K == 1, clientSessionId → print the plain session id (or `null`). * - K >= 2 → merge into one JSON object, print to stdout. * - K == 0 → error, exit 1. */ type ContentKey = 'logs' | 'lastLogs' | 'diff' | 'initial' | 'lessons'; interface InfoOptions { logs?: boolean; lastLogs?: boolean; diff?: boolean; initial?: boolean; lessons?: boolean; clientSessionId?: boolean; lines?: string; raw?: boolean; url?: string; apiKey?: string; } export declare function infoCommand(program: Command, config: Config): void; /** * Split the requested-info flags into content keys (route to /api/v1/info) and * the `clientSessionId` provenance flag (routes to the status endpoint). * Content keys are returned in the deterministic {@link CONTENT_KEYS} order. */ export declare function collectRequestedKeys(options: InfoOptions): { content: ContentKey[]; clientSessionId: boolean; }; export declare function executeInfo(trackingName: string, options: InfoOptions, config: Config): Promise; export {}; //# sourceMappingURL=info.d.ts.map