import { ControllerClass } from '@loopback/core'; import { SchemaObject } from '@loopback/rest'; import { NullableType, TRelationType } from '../../common/types'; import { BaseEntity, TBaseTzEntity } from '../models'; export interface IRelationCrudControllerOptions { association: { entities: { source: typeof BaseEntity & { prototype: S; }; target: typeof BaseEntity & { prototype: T; }; }; repositories?: { source: string; target: string; }; relation: { name: string; type: TRelationType; }; }; schema: { source?: SchemaObject; relation?: SchemaObject; target: SchemaObject; }; options?: { useControlTarget: boolean; doInjectCurrentUser?: boolean; defaultLimit?: number; endPoint?: string; }; } export declare const defineRelationViewController: (opts: { baseClass?: ControllerClass; entities: { source: typeof BaseEntity & { prototype: S; }; target: typeof BaseEntity & { prototype: T; }; }; relation: { name: string; type: TRelationType; }; defaultLimit?: number; endPoint?: string; schema?: SchemaObject; }) => ControllerClass; export declare const defineAssociateController: (opts: { baseClass: ControllerClass; entities: { source: typeof BaseEntity & { prototype: S; }; target: typeof BaseEntity & { prototype: T; }; }; relation: { name: string; type: TRelationType; }; defaultLimit?: number; endPoint?: string; schema?: SchemaObject; }) => ControllerClass; export declare const defineRelationCrudController: (controllerOptions: IRelationCrudControllerOptions) => ControllerClass; //# sourceMappingURL=relational.controller.d.ts.map