import type { Entity as BaseApplicationEntity, Field as BaseApplicationField, Relationship as BaseApplicationRelationship } from '../base-application/types.ts';
export type { BaseApplicationField as Field };
export interface Relationship extends BaseApplicationRelationship {
    propertyTranslationKey?: string;
}
type LanguagesAddedEntityProperties = {
    /** i18n variant ex: 'male', 'female' when applied */
    entityI18nVariant: string;
    entityTranslationKey: string;
    entityTranslationKeyMenu: string;
    entityTranslationKeyMenuPath: string;
};
export interface Entity<F extends BaseApplicationField = BaseApplicationField, R extends BaseApplicationRelationship = Relationship> extends BaseApplicationEntity<F, R>, LanguagesAddedEntityProperties {
    i18nKeyPrefix: string;
    i18nAlertHeaderPrefix: string;
}
export declare const mutateEntity: {
    readonly __override__: false;
    readonly entityI18nVariant: "default";
    readonly entityTranslationKey: (data: Entity<BaseApplicationField, Relationship>) => string;
    readonly entityTranslationKeyMenu: (data: Entity<BaseApplicationField, Relationship>) => string;
    readonly entityTranslationKeyMenuPath: (data: Entity<BaseApplicationField, Relationship>) => string;
};
