/** Field readers for grok's loosely-typed JSON lines. Every grok surface — the * headless stream, the PTY transcript, the on-disk session files — carries the * same shapes with optional, renamed and nested fields, so pulling a value out * of one is its own concern, kept apart from deciding what a line MEANS. * Extracted from grok.ts; the bodies are unchanged. */ export declare function asRecord(value: unknown): Record | null; export declare function isReasoningType(value: unknown): boolean; export declare function stringField(obj: Record, keys: string[]): string | undefined; export declare function stripReasoningMarkup(text: string): string; export declare function compactText(text: string, max?: number): string; export declare function safeJsonSnippet(value: unknown, max?: number): string | undefined; export declare function toolNameFromGrokUpdate(update: Record): string | undefined; export declare function planStatusFromGrokUpdate(update: Record): string | undefined; export declare function extractError(obj: Record): string | undefined; //# sourceMappingURL=grok-json.d.ts.map