import { BunyanRecord, Logger } from "./types.js";
import { ProblemStream } from "./utils.js";
import * as bunyan$1 from "bunyan";

//#region lib/logger/index.d.ts
declare function logLevel(): bunyan$1.LogLevelString;
declare function createDefaultStreams(stdoutLevel: bunyan$1.LogLevelString, problems: ProblemStream, logFile: string | undefined): bunyan$1.Stream[];
declare const logger: Logger;
declare function setContext(value: string): void;
declare function getContext(): any;
declare function setMeta(obj: Record<string, unknown>): void;
declare function addMeta(obj: Record<string, unknown>): void;
declare function removeMeta(fields: string[]): void;
declare function withMeta<T>(obj: Record<string, unknown>, cb: () => T): T;
declare function addStream(stream: bunyan$1.Stream): void;
/**
 * For testing purposes only
 * @param name stream name
 * @param level log level
 * @private
 */
declare function levels(name: 'stdout' | 'logfile', level: bunyan$1.LogLevelString): void;
declare function getProblems(): BunyanRecord[];
declare function clearProblems(): void;
//#endregion
export { addMeta, addStream, clearProblems, createDefaultStreams, getContext, getProblems, levels, logLevel, logger, removeMeta, setContext, setMeta, withMeta };
//# sourceMappingURL=index.d.ts.map