/// import * as Sequelize from 'sequelize'; import { SpecType } from 'pretur.spec'; import { Query, MutateRequest } from 'pretur.sync'; import { ResolveResult } from './resolver'; import { SyncResult } from './synchronizer'; import { Provider } from './provider'; export declare type Transaction = Sequelize.Transaction; export interface ProviderMap { [scope: string]: { [model: string]: Provider; }; } export interface ProviderPool { providers: M; resolve(transaction: Transaction, scope: string, model: T['name'], query: Query, context?: any): Promise>; sync(transaction: Transaction, item: MutateRequest, context?: any): Promise>; initialize(): void; } export declare function buildProviderPool(providers: M): ProviderPool;