export type {
  BaseDocument,
  FilterMap,
  FilterValue,
  FilterOperator,
  FilterCondition,
  CollectionQuery,
  AggregateQuery,
  AggregationField,
  DocumentCollection,
  DatastoreProvider,
  DatastoreProviderType,
  ConcurrencyToken,
  UpdateIfMatchResult,
} from './types.js';

export { getDatastore, createDatastoreProvider, setDatastore, _resetDatastore } from './factory.js';
export { CosmosDatastoreProvider, type CosmosProviderConfig } from './providers/cosmos.js';
export { MemoryDatastoreProvider } from './providers/memory.js';
export { matchesFilter, filterToCosmosSQL } from './filter.js';
