import type { Field as JavaField, Relationship as JavaRelationship } from './types.ts';
export type JavaAddedApplicationProperties = {
    useNpmWrapper: boolean;
};
export declare const mutateApplicationPreparing: {
    readonly __override__: false;
    readonly useNpmWrapper: false;
};
type JavaAddedPropertyProperties = {
    propertyJavaBeanName?: string;
    /**
     * Name of the Supplier (Getter) method to use to initialize the property.
     */
    propertySupplierName?: string;
    /**
     * Name of the Consumer (Setter) method to use to set the property.
     */
    propertyConsumerName?: string;
};
export type JavaAddedFieldProperties = JavaAddedPropertyProperties & {
    javaFieldType: string;
    fieldInJavaBeanMethod: string;
    fieldJavadoc: string | undefined;
    fieldJavaValueGenerator?: string;
    /** @deprecated Use `fieldJavaValueGenerator` instead */
    javaValueGenerator?: string;
    javaValueSample1: string | undefined;
    javaValueSample2: string | undefined;
    fieldValidateRulesPatternJava: string | undefined;
};
export declare const mutateField: {
    readonly javaValueSample1: ({ fieldName, javaFieldType }: JavaField) => string | undefined;
    readonly javaValueSample2: ({ fieldName, javaFieldType }: JavaField) => string | undefined;
    readonly fieldJavaValueGenerator: ({ javaFieldType }: JavaField) => "UUID.randomUUID().toString()" | "UUID.randomUUID()" | "intCount.incrementAndGet()" | "longCount.incrementAndGet()" | undefined;
    readonly javaValueGenerator: ({ fieldJavaValueGenerator }: JavaField) => string | undefined;
    readonly fieldValidateRulesPatternJava: ({ fieldValidateRulesPattern }: JavaField) => string | undefined;
    readonly javaFieldType: "String" | "Integer" | "Long" | "UUID" | ((field: JavaField) => string);
    readonly javaFieldTypeString: (data: Partial<Record<"javaFieldType", "String" | "Integer" | "Long" | "UUID" | undefined>>) => boolean;
    readonly javaFieldTypeInteger: (data: Partial<Record<"javaFieldType", "String" | "Integer" | "Long" | "UUID" | undefined>>) => boolean;
    readonly javaFieldTypeLong: (data: Partial<Record<"javaFieldType", "String" | "Integer" | "Long" | "UUID" | undefined>>) => boolean;
    readonly javaFieldTypeUUID: (data: Partial<Record<"javaFieldType", "String" | "Integer" | "Long" | "UUID" | undefined>>) => boolean;
    readonly __override__: false;
    readonly fieldInJavaBeanMethod: ({ fieldName }: JavaField) => string;
    readonly propertyJavaBeanName: ({ propertyName }: JavaField) => string;
    readonly propertyConsumerName: ({ propertyJavaBeanName }: JavaField) => string;
    readonly propertySupplierName: ({ propertyJavaBeanName }: JavaField) => string;
    readonly fieldJavadoc: ({ documentation }: JavaField) => string | undefined;
};
export type JavaAddedValidatedFieldProperties = JavaAddedPropertyProperties & {
    javaFieldValidatorsPartial?: string;
};
export declare const mutateValidatedField: {
    readonly javaFieldValidatorsPartial: (field: JavaField) => string;
};
export type JavaAddedRelationshipProperties = JavaAddedPropertyProperties;
export declare const mutateRelationship: {
    readonly __override__: false;
    readonly propertyJavaBeanName: ({ propertyName }: JavaRelationship) => string;
    readonly propertyConsumerName: ({ propertyJavaBeanName }: JavaRelationship) => string;
    readonly propertySupplierName: ({ propertyJavaBeanName }: JavaRelationship) => string;
};
export {};
