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

//#region src/db/manage/dolt-cleanup.d.ts

/**
 * Get a database client for cleanup operations
 * Allows passing a custom client or uses a default one
 */
declare const getIntegrationTestClient: (db?: AgentsManageDatabaseClient) => AgentsManageDatabaseClient;
/**
 * Delete all branches matching a prefix pattern
 * Used for cleaning up integration test data
 */
declare const cleanupBranchesByPrefix: (prefix: string, db?: AgentsManageDatabaseClient) => Promise<void>;
/**
 * Delete all tags matching a prefix pattern
 * Used for cleaning up integration test data
 */
declare const cleanupTagsByPrefix: (prefix: string, db?: AgentsManageDatabaseClient) => Promise<void>;
/**
 * Delete specific branches by name
 * Used for cleaning up integration test data
 */
declare const cleanupBranches: (branchNames: Set<string>, db?: AgentsManageDatabaseClient) => Promise<void>;
/**
 * Delete specific tags by name
 * Used for cleaning up integration test data
 */
declare const cleanupTags: (tagNames: Set<string>, db?: AgentsManageDatabaseClient) => Promise<void>;
/**
 * Comprehensive cleanup for test data by prefix
 * Used for cleaning up integration test data
 */
declare const cleanupTestData: (prefix: string, branches?: Set<string>, tags?: Set<string>, db?: AgentsManageDatabaseClient) => Promise<void>;
/**
 * Delete all branches matching a tenant prefix
 * Used for cleaning up integration test data
 */
declare const cleanupTenantBranches: (tenantId: string, db?: AgentsManageDatabaseClient) => Promise<void>;
/**
 * Comprehensive cleanup for a tenant: deletes tags and branches
 * Used for cleaning up integration test data
 */
declare const cleanupTenant: (tenantId: string, tagNames?: Set<string>, db?: AgentsManageDatabaseClient) => Promise<void>;
/**
 * Cleanup multiple tenants
 * Used for cleaning up integration test data
 */
declare const cleanupTenants: (tenantIds: Set<string>, tagNames?: Set<string>, db?: AgentsManageDatabaseClient) => Promise<void>;
//#endregion
export { cleanupBranches, cleanupBranchesByPrefix, cleanupTags, cleanupTagsByPrefix, cleanupTenant, cleanupTenantBranches, cleanupTenants, cleanupTestData, getIntegrationTestClient };