import { Logger } from 'koishi'; import type { MemoryScope } from '../../contracts/memory'; type LogScope = Partial>; export interface LivingMemoryLogFields extends Record, LogScope { model?: string; attempt?: number; speaker?: string; batch?: string; } export declare const formatLogScope: (scope: LogScope) => string; export interface LivingMemoryLogBlock { title: string; subtitle?: string; value: unknown; key?: string; fields?: LivingMemoryLogFields; } type LivingMemoryLogSink = Pick; type LivingMemoryLogLevel = keyof LivingMemoryLogSink; interface LivingMemoryLoggerState { failureReported: boolean; } export declare class LivingMemoryLogger { private readonly sink; private readonly isDebugEnabled; private readonly context; private readonly state; constructor(sink: LivingMemoryLogSink, isDebugEnabled: () => boolean, context?: LivingMemoryLogFields, state?: LivingMemoryLoggerState); with(fields: LivingMemoryLogFields): LivingMemoryLogger; diagnosticSummary(render: (context: LivingMemoryLogFields) => { event: string; detail: string; blocks?: LivingMemoryLogBlock[]; } | undefined): void; summary(event: string, detail: string | string[] | ((context: LivingMemoryLogFields) => string), level?: LivingMemoryLogLevel, error?: unknown): void; private reportFailure; } export {};