import type { OutputRuntimeEnv } from "../runtime.js"; import type { MockFn } from "../test-utils/vitest-mock-fn.js"; export type CliMockOutputRuntime = OutputRuntimeEnv & { log: MockFn; error: MockFn; exit: MockFn; writeJson: MockFn; writeStdout: MockFn; }; export type CliRuntimeCapture = { runtimeLogs: string[]; runtimeErrors: string[]; defaultRuntime: CliMockOutputRuntime; resetRuntimeCapture: () => void; }; type MockCallsWithFirstArg = { mock: { calls: Array<[unknown, ...unknown[]]>; }; }; export declare function createCliRuntimeCapture(): CliRuntimeCapture; export declare function mockRuntimeModule(loadActual: () => Promise, defaultRuntime: TModule["defaultRuntime"]): Promise; export declare function spyRuntimeLogs(runtime: Pick): import("vitest").Mock<(...args: unknown[]) => void>; export declare function spyRuntimeErrors(runtime: Pick): import("vitest").Mock<(...args: unknown[]) => void>; export declare function spyRuntimeJson(runtime: Pick): import("vitest").Mock<(value: unknown, space?: number) => void>; export declare function firstWrittenJsonArg(writeJson: MockCallsWithFirstArg): T | null; export {};