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;
    gatewayServerPort: number | undefined;
    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 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: (_: CommonApplication, { delayMarker }: import("../../lib/utils/object.ts").MutateDataCallbackOptions<CommonApplication>) => "__DelayedMutation__" | 9060;
    readonly serverPort: ({ applicationTypeMicroservice }: CommonApplication) => 8080 | 8081;
    readonly gatewayServerPort: (ctx: CommonApplication, { undefinedMarker }: import("../../lib/utils/object.ts").MutateDataCallbackOptions<CommonApplication>) => "__UndefinedMutation__" | 8080;
    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[];
};
