import { Mongo } from './mongo'; import { DataSourceBuilderCallback } from './dataSources/DataSourceBuilder'; import { IDataSource } from './dataSources'; /** * Represents the client - the entry for an integration connector */ export declare class Client { private _mongo; readonly dataSources: IDataSource[]; /** * Initializes a new instance of {Client}. * @param {Mongo} _mongo Mongo wrapper. * @param {IDataSource[]} dataSources Data sources for the client. */ constructor(_mongo: Mongo, dataSources: IDataSource[]); /** * Initializes the client * @returns {Promise} Async continuation. */ initialize(): Promise; /** * Start configuring the client * @returns {ClientBuilder} The builder to build the client with */ static configure(): ClientBuilder; } /** * Represents a builder for {Client} */ export declare class ClientBuilder { private _host; private _port; private _database; private _dataSources; constructor(); /** * Uses mongo for storing state for the connector. * @param {string} [host] Optional host name - default is 'localhost'. * @param {string} [port] Optional port - default is 27017. * @param {string} [database] Optional database name - default is 'integration'. * @returns {ClientBuilder} Builder for continuing configuration. */ useMongo(host?: string, port?: number, database?: string): ClientBuilder; /** * Configures a data source for the connector. * @param {string} name Name of the data source * @param {DataSourceBuilderCallback} callback Callback for configuring the data source. * @returns {ClientBuilder} Builder for continuing configuration. */ withDataSource(name: string, callback: DataSourceBuilderCallback): ClientBuilder; /** * Builds an instance of the client. * @returns {Promise} Async result with client instance. */ build(): Promise; } //# sourceMappingURL=Client.d.ts.map