import { AgentsRunDatabaseClient } from "./runtime-client.js";

//#region src/db/runtime/test-runtime-client.d.ts

/**
 * Creates a test database client using an in-memory PostgreSQL database (PGlite)
 * This provides real database operations for integration testing with perfect isolation
 * Each call creates a fresh database with all migrations applied
 */
declare function createTestRuntimeDatabaseClient(drizzleDir: string): Promise<AgentsRunDatabaseClient>;
declare function createTestRuntimeDatabaseClientNoMigrations(): AgentsRunDatabaseClient;
/**
 * Cleans up test database by removing all data but keeping schema
 * Dynamically gets all tables from the public schema and truncates them
 */
declare function cleanupTestRuntimeDatabase(db: AgentsRunDatabaseClient): Promise<void>;
/**
 * Closes the test database and removes the file
 */
declare function closeTestRuntimeDatabase(db: AgentsRunDatabaseClient): Promise<void>;
/**
 * Creates a test organization in the database
 * This is a helper for tests that need organization records before creating projects/agents
 */
declare function createTestOrganization(db: AgentsRunDatabaseClient, tenantId: string): Promise<void>;
//#endregion
export { cleanupTestRuntimeDatabase, closeTestRuntimeDatabase, createTestOrganization, createTestRuntimeDatabaseClient, createTestRuntimeDatabaseClientNoMigrations };