import { Field, ObjectType } from '.'; interface JoinTable { tableName: string; joinColumn: string; inverseJoinColumn: string; } export interface Relation { type: string; columnType: string; nullable: boolean; joinColumn?: boolean; joinTable?: JoinTable; relatedTsProp?: string; } /** * Field resolver for related fields */ export interface FieldResolver { returnTypeFunc: string; fieldName: string; fieldNameColumnName: string; rootArgName: string; rootArgType: string; returnType: string; relatedTsProp: string | undefined; relationType: RelationTypeGuard; tableName: string; } export interface EntityRelationship { entity: ObjectType; relatedEntity: ObjectType; field: Field; relatedField: Field; type: string; } export declare enum RelationType { OTO = "oto", OTM = "otm", MTM = "mtm", MTO = "mto" } interface RelationTypeGuard { isOTO: boolean; isOTM: boolean; isMTO: boolean; isMTM: boolean; isTM: boolean; isTO: boolean; } export declare function getRelationType(r: Relation): RelationTypeGuard; export {};