import { Association, Includeable, Model, ModelStatic, Transaction } from 'sequelize'; import Database from '../database'; interface EagerLoadingNode { model: ModelStatic; association: Association; attributes: Array; rawAttributes: Array; children: Array; parent?: EagerLoadingNode; instances?: Array; order?: any; where?: any; inspectInheritAttribute?: boolean; includeOptions?: any; } export declare class EagerLoadingTree { root: EagerLoadingNode; db: Database; private rootQueryOptions; constructor(root: EagerLoadingNode); static buildFromSequelizeOptions(options: { model: ModelStatic; rootAttributes: Array; rootOrder?: any; rootQueryOptions?: any; includeOption: Includeable | Includeable[]; db: Database; }): EagerLoadingTree; load(transaction?: Transaction): Promise<{}>; } export {};