interface ErrorInjection { failAfter(n: number, error?: Error): void; failOn(pattern: RegExp, error?: Error): void; withLatency(minMs: number, maxMs?: number): void; clearInjections(): void; } interface MockOperation { type: "read" | "write" | "delete" | "list"; key?: string; timestamp: number; } interface MockOperations { operations: MockOperation[]; reads(): MockOperation[]; writes(): MockOperation[]; deletes(): MockOperation[]; reset(): void; } declare function createMockD1(initialTables?: Record[]>): D1Database & MockOperations & ErrorInjection; declare function createFailingD1(error: Error | string): D1Database; export { createMockD1, createFailingD1 };