import { type LucidModel, type LucidRow, type ModelObject } from '../../types/model.js'; import { type ManyToManyRelationContract } from '../../types/relations.js'; import { type RelationCallback, type FactoryModelContract, type FactoryRelationContract, type FactoryBuilderQueryContract } from '../../types/factory.js'; import { BaseRelation } from './base.js'; /** * Many to many factory relation */ export declare class ManyToMany extends BaseRelation implements FactoryRelationContract { relation: ManyToManyRelationContract; private attributesForPivotTable; constructor(relation: ManyToManyRelationContract, factory: () => FactoryBuilderQueryContract>); /** * Make relationship and set it on the parent model instance */ make(parent: LucidRow, callback?: RelationCallback, count?: number): Promise; /** * Define pivot attributes */ pivotAttributes(attributes: ModelObject | ModelObject[]): this; /** * Persist relationship and set it on the parent model instance */ create(parent: LucidRow, callback?: RelationCallback, count?: number): Promise; }