type RequestMatcher = { path?: string; method?: string; bodyContaining?: Record; }; declare module 'vitest' { interface Assertion { toHaveExitCode(code: number): void; toSucceedWith(text: string): void; toFail(): void; toFailWith(text: string): void; toHaveStdout(matcher: string | RegExp): void; toHaveStderr(matcher: string | RegExp): void; toHaveFile(path: string): Promise; toHaveFileContaining(path: string, text: string): Promise; toHaveRequestBody(expected: Record): void; toHaveResponseBody(expected: Record): void; toContainRequest(matcher: RequestMatcher): void; toHaveToolInRequest(toolName: string): void; toHaveToolCall(toolName: string): void; toHaveToolResult(toolName: string, contentMatcher?: string | RegExp): void; toHaveHealthyProxy(): Promise; } interface AsymmetricMatchersContaining { toHaveExitCode(code: number): void; toSucceedWith(text: string): void; toFail(): void; toFailWith(text: string): void; toHaveStdout(matcher: string | RegExp): void; toHaveStderr(matcher: string | RegExp): void; toHaveRequestBody(expected: Record): void; toHaveResponseBody(expected: Record): void; toContainRequest(matcher: RequestMatcher): void; toHaveToolInRequest(toolName: string): void; toHaveToolCall(toolName: string): void; toHaveToolResult(toolName: string, contentMatcher?: string | RegExp): void; } } export {};