import { ConnectionError } from './error-handling/ConnectionError.js'; import { DatabaseError } from './error-handling/DatabaseError.js'; import { MigrationError } from './error-handling/MigrationError.js'; import { QueryError } from './error-handling/QueryError.js'; import { TransactionError } from './error-handling/TransactionError.js'; import { DatabaseConfig } from './interfaces/DatabaseConfig.js'; /** * Core database client interface that all database implementations must follow. * This ensures consistency between PostgreSQL, MySQL, and future database types. */ export type { DatabaseClient } from './interfaces/DatabaseClient.js'; /** * SQL adapter interface for adapting SQL queries to specific database types. * This allows for consistent query handling across different databases. */ export type { SqlAdapter } from './interfaces/SqlAdapter.js'; /** * Transaction interface - common methods for all database types */ export type { DatabaseTransaction } from './interfaces/DatabaseTransaction.js'; /** * Alias for DatabaseTransaction (for backward compatibility) */ export type { DatabaseTransaction as Transaction } from './interfaces/DatabaseTransaction.js'; /** * Database factory interface for creating database instances */ export type { DatabaseFactory } from './interfaces/DatabaseFactory.js'; /** * Migration manager interface for database schema versioning */ export type { MigrationManager } from './interfaces/MigrationManager.js'; /** * Configuration validation interface */ export type { ConfigValidator } from './interfaces/ConfigValidator.js'; /** * Base transaction class that provides common transaction logic */ export { BaseTransaction } from './base/BaseTransaction.js'; /** * Database adapter for switching between database types */ export { DatabaseAdapter } from './adapters/DatabaseAdapter.js'; export { BaseSqlAdapter } from './adapters/BaseSqlAdapter.js'; export type { AdapterConfig, DatabaseType } from './adapters/DatabaseAdapter.js'; /** * Generic database configuration that can be extended by specific database types */ export type { DatabaseConfig } from './interfaces/DatabaseConfig.js'; /** * Standard query result structure */ export type { QueryResult } from './interfaces/QueryResult.js'; /** * Health check result */ export type { HealthCheckResult } from './interfaces/HealthCheckResult.js'; /** * Migration interface */ export type { Migration } from './interfaces/Migration.js'; /** * Migration status */ export type { MigrationStatus } from './interfaces/MigrationStatus.js'; /** * Alias for MigrationStatus (for backward compatibility) */ export type { MigrationStatus as MigrationRecord } from './interfaces/MigrationStatus.js'; /** * Query parameters type */ export type { QueryParams } from './custom-types/QueryParams.js'; /** * Transaction callback type */ export type { TransactionCallback } from './custom-types/TransactionCallback.js'; /** * Base error class for database operations */ export { DatabaseError } from './error-handling/DatabaseError.js'; /** * Connection error specifically for connection-related issues */ export { ConnectionError } from './error-handling/ConnectionError.js'; /** * Query error for SQL execution issues */ export { QueryError } from './error-handling/QueryError.js'; /** * Transaction error for transaction-related issues */ export { TransactionError } from './error-handling/TransactionError.js'; /** * Migration error for migration-related issues */ export { MigrationError } from './error-handling/MigrationError.js'; /** * Type guards for error checking */ export declare const isDatabaseError: (error: any) => error is DatabaseError; export declare const isConnectionError: (error: any) => error is ConnectionError; export declare const isQueryError: (error: any) => error is QueryError; export declare const isTransactionError: (error: any) => error is TransactionError; export declare const isMigrationError: (error: any) => error is MigrationError; /** * Validation helper for database configuration */ export declare const validateDatabaseConfig: (config: any) => config is DatabaseConfig; /** * Helper to create a connection key for caching */ export declare const createConnectionKey: (config: DatabaseConfig) => string; /** * Helper to sanitize config for logging (removes password) */ export declare const sanitizeConfigForLogging: (config: DatabaseConfig) => Partial; /** * Default pool configuration */ export declare const DEFAULT_POOL_CONFIG: { readonly max: 10; readonly min: 2; readonly connectionTimeoutMillis: 60000; readonly idleTimeoutMillis: 30000; readonly acquireTimeout: 60000; readonly timeout: 60000; }; /** * Migration file pattern */ export declare const MIGRATION_FILE_PATTERN: RegExp; /** * Supported database types */ export type SupportedDatabases = 'postgresql' | 'mysql'; //# sourceMappingURL=index.d.ts.map