import { WarthogModel, Field, ObjectType, EntityRelationship } from '../model'; declare type EntityRelatedEntityField = { entity: ObjectType; relatedEntity: ObjectType; field: Field; }; export declare class RelationshipGenerator { model: WarthogModel; relationships: EntityRelationship[]; private visited; constructor(model: WarthogModel); traversed(field: Field, relatedField: Field): boolean; createRelationship(rel: EntityRelationship): void; listFieldWithDerivedFromDirective(props: EntityRelatedEntityField): void; listFieldWithoutDerivedFromDirective(props: EntityRelatedEntityField): void; fieldWithDerivedFromDirective(props: EntityRelatedEntityField): void; fieldWithoutDerivedFromDirective(props: EntityRelatedEntityField): void; private _addRelationPropertyFields; buildRelationships(): void; generate(): void; } export {};