import { AgentsManageDatabaseClient } from "./manage-client.js";

//#region src/db/manage/test-manage-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 createTestManageDatabaseClient(drizzleDir: string): Promise<AgentsManageDatabaseClient>;
declare function createTestManageDatabaseClientNoMigrations(): AgentsManageDatabaseClient;
/**
 * Cleans up test database by removing all data but keeping schema
 * Dynamically gets all tables from the public schema and truncates them
 */
declare function cleanupTestManageDatabase(db: AgentsManageDatabaseClient): Promise<void>;
/**
 * Closes the test database and removes the file
 */
declare function closeTestManageDatabase(db: AgentsManageDatabaseClient): Promise<void>;
/**
 * Creates a test project in the database
 * NOTE: original implementation ensured the organization exists first but that is a runtime db entity now
 */
declare function createTestProject(db: AgentsManageDatabaseClient, tenantId: string, projectId?: string): Promise<void>;
//#endregion
export { cleanupTestManageDatabase, closeTestManageDatabase, createTestManageDatabaseClient, createTestManageDatabaseClientNoMigrations, createTestProject };