/** * Enterprise-Grade Elasticsearch Client * * @packageDocumentation */ // Core infrastructure export * from './core/index.js'; // Domain APIs export * from './domain/documents/index.js'; export * from './domain/query/index.js'; export * from './domain/logging/index.js'; export * from './domain/bulk/index.js'; export * from './domain/kv/index.js'; export * from './domain/transactions/index.js'; // Re-export commonly used items for convenience export { // Configuration createConfig, type ElasticsearchConfig, type AuthConfig, // Connection ElasticsearchConnectionManager, type HealthStatus, type HealthCheckResult, // Errors ElasticsearchError, ConnectionError, TimeoutError, IndexNotFoundError, DocumentNotFoundError, DocumentConflictError, BulkOperationError, type ErrorCode, // Observability Logger, LogLevel, defaultLogger, MetricsCollector, defaultMetricsCollector, TracingProvider, defaultTracingProvider, // Retry RetryPolicy, type RetryConfig, // Plugins PluginManager, createPluginManager, createLoggingPlugin, createMetricsPlugin, createCachePlugin, createRetryPlugin, createRateLimitPlugin, type Plugin, type PluginFactory, type PluginContext, type PluginResponse, type PluginErrorContext, type PluginStats, type PluginManagerConfig, type RetryPluginConfig, type CachePluginConfig, type LoggingPluginConfig, type MetricsPluginConfig, type RateLimitPluginConfig, } from './core/index.js'; export { // Documents DocumentManager, type DocumentWithMeta, type SessionConfig, type SnapshotMeta, } from './domain/documents/index.js'; export { // Query QueryBuilder, createQuery, AggregationBuilder, createAggregationBuilder, type QueryDSL, type SearchResult, type SearchOptions, type AggregationDSL, } from './domain/query/index.js'; export { // Logging LogDestination, createLogDestination, addHostInfo, addEnvironment, addServiceInfo, addProcessInfo, addTimestamp, sanitizeSensitiveData, addDynamicTags, chainEnrichers, type LogEntry, type LogEnricher, type SamplingStrategy, type SamplingConfig, type ILMPolicyConfig, type LogDestinationConfig, type LogBatchResult, type LogDestinationStats, } from './domain/logging/index.js'; export { // Bulk BulkIndexer, createBulkIndexer, type BulkOperationType, type BulkOperation, type BulkOperationResult, type BulkBatchResult, type BulkProgressCallback, type BulkProgress, type BatchingStrategy, type BulkIndexerConfig, type BulkIndexerStats, type BackpressureState, } from './domain/bulk/index.js'; export { // KV Store KVStore, createKVStore, type KVOperationResult, type KVSetOptions, type KVGetOptions, type KVDeleteOptions, type KVScanOptions, type KVScanResult, type CacheEvictionPolicy, type CacheStats, type KVStoreConfig, type KVStoreStats, type KVDocument, type CacheEntry, type KVBatchGetResult, type KVBatchSetResult, type KVBatchDeleteResult, } from './domain/kv/index.js'; export { // Transactions TransactionManager, Transaction, createTransactionManager, type TransactionIsolationLevel, type TransactionState, type LockingStrategy, type TransactionOperationType, type TransactionOperation, type TransactionConfig, type TransactionContext, type TransactionResult, type TransactionStats, type LockInfo, type ConflictResolutionStrategy, type ConflictInfo, type TransactionManagerConfig, type Savepoint, type TransactionCallbacks, } from './domain/transactions/index.js';