import { FieldCrudManager, ValidationError } from "../../interfaces";
import { EntityManager } from "typeorm";
export interface ManyToManyRelationFieldOptions {
    required: boolean | undefined | null;
    relationCoModelSingularName: string | undefined | null;
    modelSingularName: string | undefined | null;
    isInverseSide: boolean;
    entityManager: EntityManager;
    fieldName: string;
    relationCoModelFieldName?: string;
    isUpdate?: boolean;
    entityId?: number;
}
export declare class ManyToManyRelationFieldCrudManager implements FieldCrudManager {
    private readonly options;
    private readonly logger;
    private valueFieldName;
    private idFieldName;
    private commandFieldName;
    constructor(options: ManyToManyRelationFieldOptions);
    validate(dto: any): ValidationError[];
    private applyValidations;
    transformForCreate(dto: any): Promise<any>;
    private transformByCommand;
    private transformForCommandClear;
    private transformForCommandSet;
    private tranformForCommandLink;
    private transformForCommandUnLink;
    private transformForCommandCreate;
    private transformForCommandUpdate;
    private transformForCommandDelete;
    private isApplyRequiredValidation;
}
//# sourceMappingURL=ManyToManyRelationFieldCrudManager.d.ts.map