/** True for a plain (non-array) object; the shape every native record must have. */ export declare function isRecord(value: unknown): value is Record; /** Narrow to a record or throw a dialect error attributing the harness. */ export declare function asRecord(harness: string, value: unknown): Record; /** Read a required string field or throw a dialect error. */ export declare function reqString(harness: string, obj: Record, field: string): string; /** Read an optional string field (undefined when absent), throwing on a wrong type. */ export declare function optString(harness: string, obj: Record, field: string): string | undefined; /** Read an optional finite number field, coercing absent/null to `undefined`. */ export declare function optNumber(harness: string, obj: Record, field: string): number | undefined; /** Narrow to an array or throw a dialect error. */ export declare function asArray(harness: string, value: unknown, what: string): readonly unknown[]; /** * Collapse a message-content value to plain text. Harnesses model an assistant * message either as a bare string or as an array of typed content parts * (`{ type: "text", text }`); we concatenate the text parts and ignore the rest * (tool-use parts are lifted to their own events by the dialect). Returns * `undefined` when there is no text to emit so the dialect can skip an empty * message. */ export declare function contentText(value: unknown): string | undefined;