import { EntityMetadata } from '@mikro-orm/core';
import { ObjectLiteral, ResultMicroOrmModuleOptions } from '../../../types';
import { FieldWithType, FilterNullableProps, RelationProperty, TupleOfEntityProps, TupleOfEntityRelation, TypeForId } from '../../mixin/types';
export declare const getRelation: <E extends ObjectLiteral>(entityMetadata: EntityMetadata<E>) => TupleOfEntityRelation<E>;
export declare const getProps: <E extends ObjectLiteral>(entityMetadata: EntityMetadata<E>) => TupleOfEntityProps<E>;
export declare const getPropsType: <E extends ObjectLiteral>(entityMetadata: EntityMetadata<E>, config: ResultMicroOrmModuleOptions["options"]["arrayType"]) => FieldWithType<E>;
export declare const getPropsNullable: <E extends ObjectLiteral>(entityMetadata: EntityMetadata<E>) => FilterNullableProps<E, TupleOfEntityProps<E>>;
export declare const getPrimaryColumnName: <E extends ObjectLiteral>(entityMetadata: EntityMetadata<E>) => string;
export declare const getPrimaryColumnType: <E extends ObjectLiteral>(entityMetadata: EntityMetadata<E>) => TypeForId;
export declare const getRelationProperty: <E extends ObjectLiteral>(entityMetadata: EntityMetadata<E>) => RelationProperty<E>;
