import { Container } from 'inversify'; import { GlobalLoggerConfig } from "../../../logger/src"; import { IBankAdapter } from '../bank/bank-adapter.service'; import { BankAdapterClass } from '../bank/types'; import { DataSourceOptions } from '../database/data-source'; import { LedgerClientOptions } from '../ledger/ledger.client'; import { SchedulerConfigurationData } from '../scheduler/types'; import { AdapterOptions } from './module'; import { ProcessorService } from './processor.service'; export type ProcessorRegistratorType = 'PRE' | 'POST'; export type ProcessorRegistrator = (container: Container) => void; export declare class ProcessorBuilder { protected adapterOptions: AdapterOptions; protected dataSourceOptions: DataSourceOptions; protected ledgerClientOptions: LedgerClientOptions; protected loggerOptions: GlobalLoggerConfig; protected registrators: Map; protected schedulerOptions: SchedulerConfigurationData; static init(): ProcessorBuilder; useDataSource(dataSourceOptions: DataSourceOptions): ProcessorBuilder; useLedger(ledgerClientOptions: LedgerClientOptions): this; useLogger(loggerOptions: GlobalLoggerConfig): this; useCreditAdapter(adapter: IBankAdapter): ProcessorBuilder; useCreditAdapterClass(adapterClass: BankAdapterClass): ProcessorBuilder; useDebitAdapter(adapter: IBankAdapter): ProcessorBuilder; useDebitAdapterClass(adapterClass: BankAdapterClass): ProcessorBuilder; useRegistrator(registrator: (container: Container) => void, type?: ProcessorRegistratorType): this; /** * Registers options that will be used by @minka/scheduler. By default, you should not need to call this. * However, if you call this, these settings will be used instead of the default ones, which can also affect the workings of bridge-sdk. * @param handlers * @returns */ useSchedulerOptions(options: SchedulerConfigurationData): this; build(container?: Container): ProcessorService; }