import type { Application as CommonApplication } from './types.ts';
export type CommonAddedApplicationProperties = {
    srcMain: string;
    srcTest: string;
    gatewayServicesApiAvailable?: boolean;
    endpointPrefix?: string;
    authenticationUsesCsrf: boolean;
    devServerPort?: number;
    serverPort?: number;
    backendType?: string;
    backendTypeJavaAny?: boolean;
    backendTypeSpringBoot?: boolean;
    temporaryDir?: string;
    loginRegex?: string;
    skipClient?: boolean;
    skipServer?: boolean;
    generateInMemoryUserCredentials: boolean;
    defaultUserUsername: string;
    defaultUserPassword: string;
    defaultUserRoles: string[];
    defaultAdminUsername: string;
    defaultAdminPassword: string;
    defaultAdminRoles: string[];
    /**
     * True if the application has at least one non-builtin entity.
     */
    hasNonBuiltInEntity?: boolean;
};
export declare const mutateApplication: {
    readonly __override__: false;
    readonly srcMain: "src/main/";
    readonly srcTest: "src/test/";
    readonly loginRegex: "^(?>[a-zA-Z0-9!$&*+=?^_`{|}~.-]+@[a-zA-Z0-9-]+(?:\\\\.[a-zA-Z0-9-]+)*)|(?>[_.@A-Za-z0-9-]+)$";
    readonly backendType: "Java";
    readonly backendTypeSpringBoot: ({ backendType }: CommonApplication) => boolean;
    readonly backendTypeJavaAny: ({ backendTypeSpringBoot }: CommonApplication) => boolean | undefined;
    readonly temporaryDir: ({ backendType, buildTool }: CommonApplication) => "build/" | "target/" | "temp/";
    readonly clientDistDir: ({ backendType, temporaryDir, buildTool }: CommonApplication) => string;
    readonly authenticationTypeSession: (data: CommonApplication) => boolean;
    readonly authenticationTypeJwt: (data: CommonApplication) => boolean;
    readonly authenticationTypeOauth2: (data: CommonApplication) => boolean;
    readonly authenticationUsesCsrf: ({ authenticationType }: CommonApplication) => boolean;
    readonly endpointPrefix: ({ applicationType, lowercaseBaseName }: CommonApplication) => string;
    readonly devServerPort: 9060;
    readonly serverPort: ({ applicationTypeMicroservice }: CommonApplication) => 8080 | 8081;
    readonly generateInMemoryUserCredentials: (data: CommonApplication) => boolean;
    readonly defaultAdminUsername: "admin";
    readonly defaultAdminPassword: "admin";
    readonly defaultAdminRoles: ["ADMIN", "USER"];
    readonly defaultUserUsername: (data: CommonApplication) => string;
    readonly defaultUserPassword: (data: CommonApplication) => string;
    readonly defaultUserRoles: (data: CommonApplication) => string[];
};
