import { type OutputRuntimeEnv, type RuntimeEnv } from "../runtime.js"; import { type LogLevel } from "./levels.js"; export type SubsystemLogger = { subsystem: string; isEnabled: (level: LogLevel, target?: "any" | "console" | "file") => boolean; trace: (message: string, meta?: Record) => void; debug: (message: string, meta?: Record) => void; info: (message: string, meta?: Record) => void; warn: (message: string, meta?: Record) => void; error: (message: string, meta?: Record) => void; fatal: (message: string, meta?: Record) => void; raw: (message: string) => void; child: (name: string) => SubsystemLogger; }; export declare function stripRedundantSubsystemPrefixForConsole(message: string, displaySubsystem: string): string; export declare function createSubsystemLogger(subsystem: string): SubsystemLogger; export declare function runtimeForLogger(logger: SubsystemLogger, exit?: RuntimeEnv["exit"]): OutputRuntimeEnv; export declare function createSubsystemRuntime(subsystem: string, exit?: RuntimeEnv["exit"]): OutputRuntimeEnv;