import { DevkitRelationshipControl, DevkitRelationshipKind, IDevkitEntityConfig, IDevkitEntityProperty, IDevkitRelationshipColumn } from '@devstroupe/devkit-core'; export interface NormalizedRelationship { property: IDevkitEntityProperty; target: string; kind: DevkitRelationshipKind; control: DevkitRelationshipControl; displayField: string; valueField: string; relationName: string; foreignKey?: string; inverseSide?: string; owner: boolean; embedded: boolean; onDelete: 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION'; columns: IDevkitRelationshipColumn[]; filters: Record; lookupMode: 'remote' | 'all'; pageSize: number; minSearchLength: number; joinTableName?: string; } export declare function isCollectionRelationship(kind: DevkitRelationshipKind): boolean; export declare function isSingularRelationship(kind: DevkitRelationshipKind): boolean; export declare function normalizeRelationship(property: IDevkitEntityProperty): NormalizedRelationship; export declare function getRelationships(properties: IDevkitEntityProperty[]): NormalizedRelationship[]; export declare function getTargetEntity(relationship: NormalizedRelationship, entities: IDevkitEntityConfig[]): IDevkitEntityConfig | undefined; export declare function validateRelationships(entities: IDevkitEntityConfig[]): void;