import type BaseGenerator from '../../base-core/index.js';
import type { Entity } from '../../../lib/types/application/index.js';
import type CoreGenerator from '../../base-core/generator.js';
import type { PrimaryKey } from '../../../lib/types/application/entity.js';
import type { ApplicationConfiguration } from '../../../lib/types/application/yo-rc.js';
import type { ApplicationType } from '../../../lib/types/application/application.js';
export declare const entityDefaultConfig: {
    pagination: any;
    anyPropertyHasValidation: boolean;
    dto: any;
    service: any;
    jpaMetamodelFiltering: boolean;
    readOnly: boolean;
    embedded: boolean;
    entityAngularJSSuffix: string;
    fluentMethods: boolean;
    clientRootFolder: string;
    readonly fields: never[];
    readonly relationships: never[];
};
export default function prepareEntity(entityWithConfig: Entity, generator: any, application: ApplicationType): Entity<import("../../../lib/types/application/field.js").Field, never>;
export declare function derivedPrimaryKeyProperties(primaryKey: PrimaryKey): void;
export declare function prepareEntityPrimaryKeyForTemplates(this: CoreGenerator | void, { entity: entityWithConfig, enableCompositeId, application }: {
    entity: any;
    enableCompositeId?: boolean;
    application?: any;
}): any;
/**
 * Copy required application config into entity.
 * Some entity features are related to the backend instead of the current app.
 * This allows to entities files based on the backend features.
 *
 * @param {Object} entity - entity to copy the config into.
 * @param {Object} config - config object.
 * @returns {Object} the entity parameter for chaining.
 */
export declare function loadRequiredConfigIntoEntity<E extends Partial<Entity>>(this: BaseGenerator | void, entity: E, config: ApplicationConfiguration): E;
export declare function preparePostEntityCommonDerivedProperties(entity: Entity): void;
export declare function preparePostEntitiesCommonDerivedProperties(entities: any): void;
export declare function addFakerToEntity(entityWithConfig: any, nativeLanguage?: string): Promise<void>;
