/**
 * Copyright 2013-2026 the original author or authors from the JHipster project.
 *
 * This file is part of the JHipster project, see https://www.jhipster.tech/
 * for more information.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import type { JDLRelationshipType } from '../basic-types/relationships.ts';
import type JDLRelationship from './jdl-relationship.ts';
export default class JDLRelationships {
    relationships: Record<JDLRelationshipType, Map<string, JDLRelationship>>;
    constructor();
    add(relationship: JDLRelationship): void;
    getOneToOne(relationshipId: string): JDLRelationship | undefined;
    getOneToMany(relationshipId: string): JDLRelationship | undefined;
    getManyToOne(relationshipId: string): JDLRelationship | undefined;
    getManyToMany(relationshipId: string): JDLRelationship | undefined;
    get(type: JDLRelationshipType, relationshipId: string): JDLRelationship | undefined;
    oneToOneQuantity(): number;
    oneToManyQuantity(): number;
    manyToOneQuantity(): number;
    manyToManyQuantity(): number;
    size(): number;
    forEach(passedFunction: (relationship: JDLRelationship) => void): void;
    toArray(): JDLRelationship[];
    toString(): string;
}
