import { IClientBuildResults } from '@dolittle/sdk.common'; import { Constructor } from '@dolittle/types'; import { CollectionNameLike } from '../../Copies/MongoDB/CollectionName'; import { Conversion } from '../../Copies/MongoDB/Conversion'; import { MongoDBCopies } from '../../Copies/MongoDB/MongoDBCopies'; import { ProjectionId } from '../../ProjectionId'; import { ReadModelField } from './../ReadModelField'; import { ICopyToMongoDBBuilder } from './ICopyToMongoDBBuilder'; /** * Represents an implementation of {@link ICopyToMongoDBBuilder}. * @template T The type of the projection read model. */ export declare class CopyToMongoDBBuilder extends ICopyToMongoDBBuilder { private readonly _projectionId; private readonly _readModelTypeOrInstance; private _collectionName?; private readonly _conversions; /** * Initialises a new instance of the {@link CopyToMongoDBBuilder} class. * @param {ProjectionId} _projectionId - The unique identifier of the projection to build for. * @param {Constructor | T} _readModelTypeOrInstance - The read model type. */ constructor(_projectionId: ProjectionId, _readModelTypeOrInstance: Constructor | T); /** @inheritdoc */ toCollection(collectionName: CollectionNameLike): ICopyToMongoDBBuilder; /** @inheritdoc */ withConversion(field: ReadModelField, to: Conversion): ICopyToMongoDBBuilder; /** * Builds the {@link MongoDBCopies} specification configured by this builder. * @param {IClientBuildResults} results - For keeping track of build results. * @returns {MongoDBCopies} The built {@link MongoDBCopies} specification. */ build(results: IClientBuildResults): MongoDBCopies | undefined; private inferCollectionNameFromType; private buildPropertyConversions; private makeConversionWithParents; private convertPropertyConversions; } //# sourceMappingURL=CopyToMongoDBBuilder.d.ts.map