import { QueryBuilderInfo, IQuery, PreparedAtomValue, Subscriber } from './types'; export declare function build(builder: QueryBuilderInfo): { compile: (strings: TemplateStringsArray | string, ...values: Array>) => IQuery; soql: (strings: TemplateStringsArray | string, ...values: Array>) => Promise; insert: (resolver: string, obj: T) => Promise; update: (resolver: string, obj: T_1) => Promise; remove: (resolver: string, obj: T_2) => Promise; touch: (resolver: string, obj: T_3) => Promise; notifyRemoved: (resolver: string, obj: T_4) => Promise; subscribe: (resolver: string, id: any | null, fn: Subscriber) => void; unsubscribe: (resolver: string, id: any | null, fn: Subscriber) => void; unsubscribeAllBySubscriber: (resolver: string, fn: Subscriber) => void; transaction: (callback: (commands: { compile: (strings: TemplateStringsArray | string, ...values: Array>) => IQuery; soql: (strings: TemplateStringsArray | string, ...values: Array>) => Promise; insert: (resolver: string, obj: T) => Promise; update: (resolver: string, obj: T_1) => Promise; remove: (resolver: string, obj: T_2) => Promise; touch: (resolver: string, obj: T_3) => Promise; notifyRemoved: (resolver: string, obj: T_4) => Promise; }, tr: any) => Promise, trOptions?: any) => Promise; };