import { QueryBuilder } from "./QueryBuilder"; /** * Allows to build complex sql queries in a fashion way and execute those queries. * * todo: implement all functions using SpecificRepository code. */ export declare class RelationQueryBuilder extends QueryBuilder { /** * Gets generated sql query without parameters being replaced. */ getQuery(): string; /** * Sets entity relation's value. * Value can be entity, entity id or entity id map (if entity has composite ids). * Works only for many-to-one and one-to-one relations. * For many-to-many and one-to-many relations use #add and #remove methods instead. */ set(value: any): this; /** * Adds (binds) given value to entity relation. * Value can be entity, entity id or entity id map (if entity has composite ids). * Value also can be array of entities, array of entity ids or array of entity id maps (if entity has composite ids). * Works only for many-to-many and one-to-many relations. * For many-to-one and one-to-one use #set method instead. */ add(value: any | any[]): this; /** * Removes (unbinds) given value from entity relation. * Value can be entity, entity id or entity id map (if entity has composite ids). * Value also can be array of entities, array of entity ids or array of entity id maps (if entity has composite ids). * Works only for many-to-many and one-to-many relations. * For many-to-one and one-to-one use #set method instead. */ remove(value: any | any[]): this; /** * Gets entity's relation id. */ getIdOf(): Promise; /** * Gets entity's relation ids. */ getIdsOf(): Promise; }