import { SeederCollection, DeepPartial } from './common'; import { SeederDatabaseConfig } from './database'; import { CollectionInsertManyOptions, MongoClientOptions } from 'mongodb'; /** * Defines configuration for database seeding. */ export interface SeederConfig { database: SeederDatabaseConfig; databaseReconnectTimeout: number; dropDatabase: boolean; dropCollections: boolean; mongoClientOptions?: MongoClientOptions; collectionInsertManyOptions?: CollectionInsertManyOptions; } /** * Stores default configuration for database seeding. */ export declare const defaultSeederConfig: SeederConfig; /** * Merges configuration for database seeding. * * @param partial Partial config object. If not specified, returns a default config object. * @param previous Previous config object. If not specified, uses a default config object as a base. */ export declare const mergeSeederConfig: (partial?: DeepPartial | undefined, previous?: SeederConfig | undefined) => SeederConfig; /** * Defines collection reading configuration. */ export interface SeederCollectionReadingOptions { extensions: string[]; transformers: Array<(collection: SeederCollection) => SeederCollection>; } /** * Stores default collection reading configuration values. */ export declare const defaultCollectionReadingOptions: SeederCollectionReadingOptions; /** * Merges configuration for collection reading. * * @param partial Partial config object. If not specified, returns a default config object. * @param previous Previous config object. If not specified, uses a default config object as a base. */ export declare const mergeCollectionReadingOptions: (partial?: DeepPartial | undefined, previous?: SeederCollectionReadingOptions | undefined) => SeederCollectionReadingOptions;