import { Fixture, MockServerOptions } from "./types.cjs";
import { LLMock } from "./llmock.cjs";

//#region src/jest.d.ts

interface UseAimockOptions extends MockServerOptions {
  /** Path to fixture file or directory. Loaded automatically on start. */
  fixtures?: string;
  /** If true, sets process.env.OPENAI_BASE_URL to the mock URL + /v1. */
  patchEnv?: boolean;
}
interface AimockHandle {
  /** The LLMock instance. */
  readonly llm: LLMock;
  /** The server URL (e.g., http://127.0.0.1:4010). */
  readonly url: string;
}
/**
 * Start an aimock server for the duration of the test suite.
 *
 * - `beforeAll`: starts the server and optionally loads fixtures
 * - `beforeEach`: resets fixture match counts (not fixtures themselves)
 * - `afterAll`: stops the server
 *
 * Returns a getter function — call it inside tests to access the handle.
 *
 * NOTE: Jest globals (beforeAll, afterAll, beforeEach) must be available
 * in the test environment. This works with the default jest configuration.
 */
declare function useAimock(options?: UseAimockOptions): () => AimockHandle;
//#endregion
export { AimockHandle, type Fixture, LLMock, type MockServerOptions, UseAimockOptions, useAimock };
//# sourceMappingURL=jest.d.cts.map