import type { HarneryLogLevel, HarneryStorageFamily, HarneryStoragePolicy } from "./contract.js"; export type HarneryLogScalar = string | number | boolean | null; export type HarneryLogFieldValue = HarneryLogScalar | readonly HarneryLogScalar[]; export type HarneryLogFields = Record; export type HarneryLazyFields = HarneryLogFields | (() => HarneryLogFields); export type HarneryLogContext = Record; export interface HarnerySanitizedError { name: string; message: string; code?: string; stack?: string; cause?: HarnerySanitizedError; } export interface HarneryLogRecordV1 { schema: "harnery.log-record/v1"; kind: "record" | "aggregate" | "metrics-generation-reset"; emitted_at: string; family_id: string; policy_version: string; component_id: string; level: HarneryLogLevel; event: string; writer_id: string; writer_seq: number; context: HarneryLogContext; fields: HarneryLogFields; error?: HarnerySanitizedError; aggregate?: { count: number; first_emitted_at: string; last_emitted_at: string; represented_bytes: number; exemplar_digests: readonly string[]; }; } export interface OpenTelemetryLogRecord { timestamp: string; severityText: Uppercase; body: string; attributes: Record; } export declare class HarneryLogEncodingError extends Error { constructor(message: string); } export declare function validateLogEvent(event: string): void; export declare function validateLogContext(context: HarneryLogContext): HarneryLogContext; export declare function validateLogFields(fields: HarneryLogFields, policy: HarneryStoragePolicy): HarneryLogFields; export declare function sanitizeLogError(error: unknown, depth?: number): HarnerySanitizedError; export declare function encodeLogRecord(record: HarneryLogRecordV1, family: HarneryStorageFamily): Buffer; export declare function parseLogRecord(line: string): HarneryLogRecordV1; export declare function toOpenTelemetryLogRecord(record: HarneryLogRecordV1): OpenTelemetryLogRecord; //# sourceMappingURL=jsonl.d.ts.map