import { Query } from 'pretur.sync'; import { Spec, SpecType, Model } from 'pretur.spec'; import { ProviderPool, Transaction } from './pool'; export interface ResolveResult { data: Model[]; count: number; } export interface Resolver { (transaction: Transaction, query: Query, context: any): Promise>; } export interface UnitializedResolver { resolver: Resolver; initialize(pool: ProviderPool): void; } export interface ResolveInterceptor { (resolve: (query: Query) => Promise>, transaction: Transaction, query: Query, context: any): Promise>; } export interface BuildResolverOptions { interceptor?: ResolveInterceptor; } export declare function buildResolver(spec: Spec, options?: BuildResolverOptions): UnitializedResolver;