import * as mongodb from 'mongodb'; export { initDb, startDb, stopDb, createDatabaseResource } from './initDb.ts'; export type { DatabaseResource } from './initDb.ts'; export { generateDbObjectId } from './generate-db-object-id.ts'; export { generateDbFilterById } from './generate-db-filter-by-id.ts'; export { buildDbIndexes } from './build-db-indexes.ts'; export { findPreservingIds } from './find-preserving-ids.ts'; export { buildSortOptions } from './build-sort-option.ts'; export { findLocalizedText } from './find-localized-text.ts'; export { insensitiveTrimmedRegexOperator, escapeRegexString, } from './insensitive-trimmed-regex-operator.ts'; export { mongodb }; export interface LogFields { log: ({ date: Date; status: string | null; info?: string; } | { date: Date; status?: string; info: string; })[]; } export interface TimestampFields { created: Date; updated?: Date; deleted?: Date | null; } export interface Address { addressLine?: string; addressLine2?: string; city?: string; company?: string; countryCode?: string; firstName?: string; lastName?: string; postalCode?: string; regionCode?: string; } export interface Contact { telNumber?: string; emailAddress?: string; } export interface Migration { id: number; name: string; up: (params: { logger: any | Console; unchainedAPI: Context; }) => Promise; } export interface MigrationRepository { db: mongodb.Db; migrations: Map>; register: (migration: Migration) => void; allMigrations: () => Migration[]; } export interface ModuleInput> { db: mongodb.Db; migrationRepository: MigrationRepository; options?: Options; }