/** * Hindsight OpenClaw plugin logger. * * Routes output through OpenClaw's api.logger for consistent formatting * with other plugins (same colors/timestamps as mem0, etc.). * * Features: * - Configurable log level: 'off' | 'error' | 'warning' | 'info' | 'debug' * - Batched retain/recall summaries instead of per-event spam */ export type LogLevel = "off" | "error" | "warning" | "info" | "debug"; export interface LoggerConfig { /** Minimum severity to print. Default: 'info' */ logLevel?: LogLevel; /** Interval in ms to print batched retain/recall summaries. 0 = print every event. Default: 300000 (5 min) */ logSummaryIntervalMs?: number; } /** Bind to OpenClaw's api.logger for consistent output formatting */ export declare function setApiLogger(logger: { info(msg: string): void; warn(msg: string): void; error(msg: string): void; }): void; export declare function configureLogger(cfg: LoggerConfig): void; /** Info-level log (requires 'info' or higher) */ export declare function info(msg: string): void; /** Debug log (requires 'debug') */ export declare function verbose(msg: string): void; /** Warning (requires 'warning' or higher) */ export declare function warn(msg: string): void; /** Error (requires 'error' or higher) */ export declare function error(msg: string, err?: unknown): void; /** Track a retain event for batched summary */ export declare function trackRetain(bankId: string, messageCount: number): void; /** Track a recall event for batched summary */ export declare function trackRecall(bankId: string, memoriesFound: number): void; /** Flush the batched summary to console */ export declare function flushSummary(): void; /** Cleanup (call on plugin stop) */ export declare function stopLogger(): void;