import { Query } from './Query'; import { Entity } from './Entity'; import { DotNotationProperties, EntityConstructor, EntityObject, StringExpression } from './index'; import { KeysOfType } from '@Typetron/Support'; import { BelongsTo, BelongsToMany, HasMany, HasOne } from './Fields'; import { List } from './List'; import { RelationsTreeQuery } from './Types'; export declare class EntityQuery extends Query { entity: EntityConstructor; eagerLoad: (string | [string, RelationsTreeQuery])[]; eagerLoadCount: (string | [string, RelationsTreeQuery])[]; constructor(entity: EntityConstructor); get(...columns: (K | string | StringExpression)[]): Promise; eagerLoadRelationships(entities: T[]): Promise; eagerLoadRelationshipsCounts(entities: T[]): Promise; first(...columns: (K | string | StringExpression)[]): Promise; firstOrNew(properties: Partial | Record>, values?: Partial>): Promise; with(...relations: (KeysOfType | HasOne | HasMany | BelongsToMany> | DotNotationProperties | [ KeysOfType | HasOne | HasMany | BelongsToMany> | DotNotationProperties, RelationsTreeQuery ])[]): this; withCount>>(...relations: (KeysOfType | HasOne | HasMany | BelongsToMany> | DotNotationProperties | [ KeysOfType | HasOne | HasMany | BelongsToMany> | DotNotationProperties, RelationsTreeQuery ])[]): this; private tree; private treeBack; } //# sourceMappingURL=EntityQuery.d.ts.map