import type { Application as SpringBootApplication, Entity as SpringBootEntity } from './types.ts';
export declare const restFiles: import("../base-core/api.js").WriteFileSection<any>;
export declare const filteringFiles: import("../base-core/api.js").WriteFileSection<any>;
export declare const serviceFiles: import("../base-core/api.js").WriteFileSection<any>;
export declare const dtoFiles: import("../base-core/api.js").WriteFileSection<any>;
export declare const serverFiles: import("../base-core/api.js").WriteFileSection<any>;
export declare function writeFiles(): {
    cleanupOldServerFiles: (this: import("../index.ts").GeneratorBaseCore<import("../base-core/types.js").Config, import("../base-core/types.js").Options, import("../base-core/types.js").Features>, params: import("../base-application/tasks.js").TaskParamWithEntities<SpringBootEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription: string | undefined;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        javaFieldType: string;
        fieldInJavaBeanMethod: string;
        fieldJavadoc: string | undefined;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        javaValueSample1: string | undefined;
        javaValueSample2: string | undefined;
        fieldValidateRulesPatternJava: string | undefined;
    } & {
        javaFieldValidatorsPartial?: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        fieldJavaBuildSpecification?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    } & import("./application.ts").SpringBootAddedPropertyProperties & {
        propertyJavaFilterType?: string;
        propertyJavaFilteredType?: string;
    } & {
        filterableField?: boolean;
        autoGenerateByService?: boolean;
        autoGenerateByRepository?: boolean;
        mapstructExpression?: boolean;
        requiresPersistableImplementation?: boolean;
        fieldNameAsDatabaseColumn?: string;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription: string | undefined;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        javaFieldType: string;
        fieldInJavaBeanMethod: string;
        fieldJavadoc: string | undefined;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        javaValueSample1: string | undefined;
        javaValueSample2: string | undefined;
        fieldValidateRulesPatternJava: string | undefined;
    } & {
        javaFieldValidatorsPartial?: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        fieldJavaBuildSpecification?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    } & import("./application.ts").SpringBootAddedPropertyProperties & {
        propertyJavaFilterType?: string;
        propertyJavaFilteredType?: string;
    } & {
        filterableField?: boolean;
        autoGenerateByService?: boolean;
        autoGenerateByRepository?: boolean;
        mapstructExpression?: boolean;
        requiresPersistableImplementation?: boolean;
        fieldNameAsDatabaseColumn?: string;
    }), import("./types.ts").Relationship>, SpringBootApplication>) => void;
    writeServerFiles: (this: import("../index.ts").GeneratorBaseCore<import("../base-core/types.js").Config, import("../base-core/types.js").Options, import("../base-core/types.js").Features>, params: import("../base-application/tasks.js").TaskParamWithEntities<SpringBootEntity<({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription: string | undefined;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: string;
        fieldIsEnum: true;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        javaFieldType: string;
        fieldInJavaBeanMethod: string;
        fieldJavadoc: string | undefined;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        javaValueSample1: string | undefined;
        javaValueSample2: string | undefined;
        fieldValidateRulesPatternJava: string | undefined;
    } & {
        javaFieldValidatorsPartial?: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        fieldJavaBuildSpecification?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    } & import("./application.ts").SpringBootAddedPropertyProperties & {
        propertyJavaFilterType?: string;
        propertyJavaFilteredType?: string;
    } & {
        filterableField?: boolean;
        autoGenerateByService?: boolean;
        autoGenerateByRepository?: boolean;
        mapstructExpression?: boolean;
        requiresPersistableImplementation?: boolean;
        fieldNameAsDatabaseColumn?: string;
    }) | ({
        propertyName: string;
        propertyNameCapitalized?: string;
        propertyNameUpperSnakeCase?: string;
        propertyApiDescription?: string;
        skipClient?: boolean;
        skipServer?: boolean;
    } & Omit<import("../../lib/jhipster/types/field.js").Field, "fieldType"> & {
        fieldTypeBlob: boolean;
        fieldTypeString: boolean;
        fieldTypeInteger: boolean;
        fieldTypeLong: boolean;
        fieldTypeBigDecimal: boolean;
        fieldTypeFloat: boolean;
        fieldTypeDouble: boolean;
        fieldTypeUUID: boolean;
        fieldTypeBoolean: boolean;
        fieldTypeLocalDate: boolean;
        fieldTypeZonedDateTime: boolean;
        fieldTypeAnyBlob: boolean;
        fieldTypeImageBlob: boolean;
        fieldTypeTextBlob: boolean;
        fieldTypeInstant: boolean;
        fieldTypeDuration: boolean;
        fieldTypeByte: boolean;
        fieldTypeByteBuffer: boolean;
        fieldTypeLocalTime: boolean;
    } & {
        fieldValidationMin: boolean;
        fieldValidationRequired: boolean;
        fieldValidationPattern: boolean;
        fieldValidationMax: boolean;
        fieldValidationUnique: boolean;
        fieldValidationMinlength: boolean;
        fieldValidationMaxlength: boolean;
        fieldValidationMinbytes: boolean;
        fieldValidationMaxbytes: boolean;
    } & {
        path?: string[];
        fieldNameCapitalized: string;
        fieldNameHumanized: string;
        fieldNameUnderscored: string;
        fieldTranslationKey?: string;
        propertyTranslationKey?: string;
        fieldApiDescription: string | undefined;
        enumFileName?: string;
        enumValues?: {
            name: string;
            value: string;
        }[];
        fieldValidate?: boolean;
        unique?: boolean;
        maxlength?: number;
        fakerTemplate?: string;
        uniqueValue?: any[];
        generateFakeDataFromPattern?: () => string | undefined;
        generateFakeData?: (type?: "csv" | "cypress" | "json-serializable" | "ts") => any;
        transient?: boolean;
        id?: boolean;
        autoGenerate?: boolean;
        readonly?: boolean;
        sequenceGeneratorName?: string;
        fieldWithContentType?: boolean;
        contentTypeFieldName?: string;
        fieldTypeTimed?: boolean;
        blobContentTypeText?: boolean;
        blobContentTypeImage?: boolean;
        blobContentTypeAny?: boolean;
        fieldTypeBytes?: boolean;
        fieldTypeBinary?: boolean;
        fieldValidationMinLength: boolean;
        fieldValidationMaxLength: boolean;
        fieldValidationMinBytes: boolean;
        fieldValidationMaxBytes: boolean;
        relatedByOtherEntity?: boolean;
        enumInstance?: string;
        builtIn?: boolean;
        derivedPath?: string[];
    } & {
        fieldType: import("../../lib/jhipster/field-types.ts").FieldType;
        fieldIsEnum: false;
    } & {
        propertyJavaBeanName?: string;
        propertySupplierName?: string;
        propertyConsumerName?: string;
    } & {
        javaFieldType: string;
        fieldInJavaBeanMethod: string;
        fieldJavadoc: string | undefined;
        fieldJavaValueGenerator?: string;
        javaValueGenerator?: string;
        javaValueSample1: string | undefined;
        javaValueSample2: string | undefined;
        fieldValidateRulesPatternJava: string | undefined;
    } & {
        javaFieldValidatorsPartial?: string;
    } & {
        propertyDtoJavaType?: string;
    } & {
        fieldJavaBuildSpecification?: string;
        propertyJavaCustomFilter?: {
            type: string;
            superType: string;
            fieldType: string;
        };
    } & {
        fieldTypeTemporal: boolean;
        fieldTypeCharSequence: boolean;
        fieldTypeNumeric: boolean;
        fieldSupportsSortBy?: boolean;
    } & import("./application.ts").SpringBootAddedPropertyProperties & {
        propertyJavaFilterType?: string;
        propertyJavaFilteredType?: string;
    } & {
        filterableField?: boolean;
        autoGenerateByService?: boolean;
        autoGenerateByRepository?: boolean;
        mapstructExpression?: boolean;
        requiresPersistableImplementation?: boolean;
        fieldNameAsDatabaseColumn?: string;
    }), import("./types.ts").Relationship>, SpringBootApplication>) => void;
};
