import { type Cloneable } from './Cloneable.js'; export type OneToManyMapStartSpec = { [TKey in keyof TRelation]: { isOptional: undefined extends TRelation[TKey] ? true : false; }; }; /** * Data structure able to efficiently manage a set of models related to a set of properties in a one to many relation. */ export declare class OneToManyMapStar implements Cloneable> { #private; constructor(spec: OneToManyMapStartSpec); add(model: TModel, relation: TRelation): void; clone(): this; get(key: TKey, value: Required[TKey]): Iterable | undefined; getAllKeys(key: TKey): Iterable; removeByRelation(key: TKey, value: Required[TKey]): void; protected _buildNewInstance(spec: OneToManyMapStartSpec): this; protected _cloneModel(model: TModel): TModel; protected _cloneRelation(relation: TRelation): TRelation; } //# sourceMappingURL=OneToManyMapStar.d.ts.map