import { type HarneryStorageCatalog } from "./catalog.js"; import type { HarneryLoggerBinding, HarneryLogLevel, HarneryRegisteredStorageFamily } from "./contract.js"; import { type HarneryLazyFields, type HarneryLogContext, type HarneryLogFields, type HarneryLogRecordV1 } from "./jsonl.js"; export interface HarneryLogger { isEnabled(level: HarneryLogLevel): boolean; child(context: HarneryLogContext): HarneryLogger; trace(event: string, fields?: HarneryLazyFields, error?: unknown): void; debug(event: string, fields?: HarneryLazyFields, error?: unknown): void; info(event: string, fields?: HarneryLazyFields, error?: unknown): void; warn(event: string, fields?: HarneryLazyFields, error?: unknown): void; error(event: string, fields?: HarneryLazyFields, error?: unknown): void; fatal(event: string, fields?: HarneryLazyFields, error?: unknown): void; flush(options?: { durability?: "memory" | "disk"; }): Promise; close(): Promise; } export interface HarneryLoggerRuntime { logger(componentId: string, context?: HarneryLogContext): HarneryLogger; flush(options?: { durability?: "memory" | "disk"; }): Promise; close(): Promise; } export interface HarneryLogLevelConfig { default?: HarneryLogLevel; families?: Readonly>; components?: Readonly>; } export type HarneryLogEnvironment = Readonly>; export declare class HarneryUnsupportedDurabilityError extends Error { readonly familyId: string; constructor(familyId: string); } export declare function createFileLoggerRuntime(options: { catalog: HarneryStorageCatalog; bindings?: readonly HarneryLoggerBinding[]; level_config?: HarneryLogLevelConfig; env?: HarneryLogEnvironment; strict_levels?: boolean; }): HarneryLoggerRuntime; export declare function createInMemoryLoggerRuntime(options: { catalog: HarneryStorageCatalog; bindings: readonly HarneryLoggerBinding[]; records?: HarneryLogRecordV1[]; level_config?: HarneryLogLevelConfig; env?: HarneryLogEnvironment; }): HarneryLoggerRuntime & { records: HarneryLogRecordV1[]; }; export declare function createNullLoggerRuntime(): HarneryLoggerRuntime; export declare function resolveLogLevel(options: { component_id: string; family: HarneryRegisteredStorageFamily; config?: HarneryLogLevelConfig; env?: HarneryLogEnvironment; strict?: boolean; }): HarneryLogLevel; export declare function legacyLogFields(value: Record): HarneryLogFields; export interface HarneryBoundedObjectArray { json: string; included: number; omitted: number; truncated: boolean; } /** Encode an allow-listed array of scalar records without slicing a JSON token. */ export declare function encodeBoundedLogObjectArray(values: readonly unknown[], options: { max_bytes: number; allowed_fields: readonly string[]; }): HarneryBoundedObjectArray; declare const PROCESS_LOGGER_BINDINGS: { readonly "agent-hook": "agent-hook-debug-log"; readonly "agent-coord": "agent-coord-debug-log"; readonly "semantic-service": "semantic-service-log"; readonly "resource-observer": "resource-observer-log"; readonly supervisor: "supervisor-log"; readonly "governor-service": "governor-service-log"; readonly "presence-relay": "presence-relay-log"; }; export type HarneryProcessLoggerComponent = keyof typeof PROCESS_LOGGER_BINDINGS; export declare function processLogger(coordRoot: string, componentId: HarneryProcessLoggerComponent): HarneryLogger; export declare function closeProcessLoggers(): Promise; export {}; //# sourceMappingURL=logger.d.ts.map