import { F as Func, h as AddSpyMethodsByReturnTypes } from './types-BM3BcWj1.js'; import 'vitest'; /** The call shape shared by every spied console method. */ type ConsoleMethodFn = (...data: unknown[]) => void; /** A spy standing in for one `console` method: silent, with all sync helpers attached. */ type ConsoleMethodSpy = AddSpyMethodsByReturnTypes; /** The bag of installed console spies, one per spied method. */ interface ConsoleSpies { consoleDebugSpy: ConsoleMethodSpy; consoleErrorSpy: ConsoleMethodSpy; consoleInfoSpy: ConsoleMethodSpy; consoleLogSpy: ConsoleMethodSpy; consoleTimeEndSpy: ConsoleMethodSpy; consoleTimeSpy: ConsoleMethodSpy; consoleTraceSpy: ConsoleMethodSpy; consoleWarnSpy: ConsoleMethodSpy; } /** * The seam `setupAutoSpy()` clears these spies through, and the one the stray-console guard takes * them off by: slots on `globalThis`, so `/setup` never imports this entry. */ declare global { var __vitestAutoSpyResetConsoleSpies__: (() => void) | undefined; var __vitestAutoSpyDetachConsoleSpies__: (() => void) | undefined; /** * The real console methods, shared by every copy of this module in the worker. * * `vi.resetModules()` gives the next import a fresh copy of this module with empty maps, while the * spies of the previous copy are still on `console`. That copy then recorded a spy nobody can reach * any more as "the original", and `restoreConsole()` put that dead spy back on `console` for good — * every log of the rest of the worker swallowed, and every assertion against a spy that is not the * installed one failing. The real methods are remembered here instead, where a new copy finds them. */ var __vitestAutoSpyConsoleOriginals__: Map | undefined; } /** * Replace the spied console methods with silent typed spies. Idempotent: * repeated calls return the already-installed bag, putting its spies back on * `console` if something took them off. * * @example * ```ts * const spies = installConsoleSpies(); * * service.doWork(); * expect(spies.warn).toHaveBeenCalledWith('deprecated'); * ``` */ declare function installConsoleSpies(): ConsoleSpies; /** * Clear the recorded calls of every installed console spy (the spies stay installed). * * @example * ```ts * resetConsoleSpies(); // recorded calls dropped, the spies stay installed * ``` */ declare function resetConsoleSpies(): void; /** * Put the original console methods back and clear what the spies recorded. The spies are kept, so the * exported `consoleErrorSpy` & co. stay live in every file of the worker for the next install. * * @example * ```ts * afterEach(() => restoreConsole()); // the real console methods are back * ``` */ declare function restoreConsole(): void; declare const consoleDebugSpy: ConsoleMethodSpy; declare const consoleErrorSpy: ConsoleMethodSpy; declare const consoleInfoSpy: ConsoleMethodSpy; declare const consoleLogSpy: ConsoleMethodSpy; declare const consoleTimeEndSpy: ConsoleMethodSpy; declare const consoleTimeSpy: ConsoleMethodSpy; declare const consoleTraceSpy: ConsoleMethodSpy; declare const consoleWarnSpy: ConsoleMethodSpy; export { type ConsoleMethodSpy, type ConsoleSpies, consoleDebugSpy, consoleErrorSpy, consoleInfoSpy, consoleLogSpy, consoleTimeEndSpy, consoleTimeSpy, consoleTraceSpy, consoleWarnSpy, installConsoleSpies, resetConsoleSpies, restoreConsole };