/// import { Transform } from 'stream'; import Promise from 'bluebird'; import Source from './source'; import Target from './target'; export interface ReplicationChainBuilderCallback { (builder: ReplicationChainBuilder): void; } export declare class ReplicationChainBuilder { private _chains; /** * @constructor * * @param that Builder to copy */ constructor(that?: ReplicationChainBuilder); /** * Starts a chain using specified source * * @param source Source to replicate * @param sourceParams Source parameters * @param builder Chain builder */ from(source: Source, sourceParams: Object, builder?: ReplicationChainBuilderCallback): this; /** * Adds a transform to last chain * * @param transform Transform * @param builder Builder function */ via(transform: Transform, builder?: ReplicationChainBuilderCallback): this; /** * Ends a chain using specified target * * @param target Replication target * @param targetParams Target parameters * @returns This instance for chaining purposes */ to(target: Target, targetParams: any): this; /** * Replicates data */ replicate(chainsCallback?: Function): Promise<{}[]>; /** * Returns complete chains */ toChains(): any[]; /** * Checks if chain is complete */ static _isComplete(chain: any): boolean; }