import type { LevelFilter, LogSink, LogSinkCounters, MutableLogSinkCounters } from './types.js'; export declare function installProcessSink(sink: LogSink, level: LevelFilter, opts?: { readonly replace?: boolean; }): void; /** The installed destination, or `undefined` when nobody claimed the process. */ export declare function getProcessSink(): { readonly sink: LogSink; readonly level: LevelFilter; readonly counters: LogSinkCounters; } | undefined; /** * The mutable counter set the installed destination writes through. * * Internal in spirit, exported in fact: a mere reader wants * {@link getProcessSink}'s readonly view. A HOST needs this one, because it * is what makes the totals describe the process rather than one logger — it * hands the same object to every logger it builds, so `getLogCounters()` and * `namzu doctor`'s `logging.pipeline` check see one set of numbers. A global * accessor used to do that on the host's behalf; with it gone, the host does * it, which is why this is reachable from `@namzu/sdk` at all. */ export declare function getProcessSinkCounters(): MutableLogSinkCounters | undefined; /** * Test-only: forget the installed sink. * * Production must never call this — the refusal above is the whole contract, * and a reset that production could reach would let a second caller take the * destination by clearing the first one rather than by saying `replace`. */ export declare function __resetProcessSinkForTests(): void; //# sourceMappingURL=process-sink.d.ts.map