import type { EntityManager } from "../../../entity-manager";
import type { BaseConnectionOptions } from "../../../connection/types/connection-options";
import type { SingleSaveData } from "../../../repository/types/save-conditions";
import type { DatabaseEvents } from "../../types/database-events";
import type { CustomClass } from "../../types/metadata-type";
interface Injectables {
    entityManager: EntityManager;
    connectionOptions: BaseConnectionOptions;
}
export interface AutoGenerateEntityToDatabaseParams<Entity> {
    entity: CustomClass;
    data: SingleSaveData<Entity>;
    events: Array<DatabaseEvents>;
}
export declare const recursiveAutoGenerateEntityToDatabase: <Entity>({ entityManager, connectionOptions }: Injectables, { entity, data, events }: AutoGenerateEntityToDatabaseParams<Entity>) => Entity | undefined;
export declare const autoGenerateEntityToDatabase: <Entity>({ entityManager, connectionOptions }: Injectables, { entity, data, events }: AutoGenerateEntityToDatabaseParams<Entity>) => Entity;
export {};
