/** A role for a line that stands alone: a key or index whose value follows * on the lines below it, one line of a multi-line string, or a bare value. */ export type FlatRole = "key" | "text" | "scalar" | "index"; export type StructuredLine = { indent: number; role: FlatRole; text: string; } /** A key with its value on the same line: `id: 1`. */ | { indent: number; role: "pair"; key: string; text: string; } /** A list whose items all have the same flat fields, as rows. */ | { indent: number; role: "table"; columns: string[]; rows: string[][]; }; export declare function decodeStructured(text: string): unknown | undefined; export declare function structuredLines(value: unknown): StructuredLine[];