import { Entity, ModelDefinition } from '@loopback/repository'; import { Knex } from 'knex'; import { QueryFilter } from '../../../filter'; import { RelationConstraint } from '../../../relation'; import { QuerySession } from '../../../session'; import { ClauseResolver } from '../clause'; export declare class JoinResolver extends ClauseResolver { resolve(qb: Knex.QueryBuilder, filter: QueryFilter, session?: QuerySession): void; protected buildJoins(qb: Knex.QueryBuilder, session: QuerySession): void; protected compile(key: string, session: QuerySession, constraints: Record): void; } export declare function parseRelationChain(definition: ModelDefinition, key: string): { relationChain: Member[]; property?: undefined; propertyKey?: undefined; } | { relationChain: Member[]; property: import("@loopback/repository").PropertyDefinition; propertyKey: string; } | undefined; interface Member { name: string; polymorphicValue?: string; } export {};