import { CascadeType } from './CascadeType';
import { AnyConstructor, ColumnAnnotation } from './Column';
import { FetchType } from './FetchType';
import { PermissionAnnotation } from './Permission';
import { DataModelPrivilegeBase } from '@themost/common';
declare interface ManyToManyAnnotation extends PermissionAnnotation {
    cascadeType?: CascadeType;
    fetchType?: FetchType;
    targetEntity?: string | AnyConstructor<unknown>;
    mappedBy?: string;
    privileges?: DataModelPrivilegeBase[];
}
declare interface ManyToManyColumnAnnotation extends ColumnAnnotation {
    manyToMany?: ManyToManyAnnotation;
}
declare function ManyToMany(annotation?: ManyToManyAnnotation): PropertyDecorator;
export { ManyToManyAnnotation, ManyToManyColumnAnnotation, ManyToMany };
