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