import type User from "@saltcorn/data/models/user"; import type { IosCfg } from "../mobile-builder"; /** * copy saltcorn-mobile-app as a template to buildDir * and install the capacitor and cordova modules to node_modules (cap sync will be run later) * @param buildDir directory where the app will be build * @param templateDir directory of the template code that will be copied to 'buildDir' * @param pushEnabled are push notifications enabled? * @param backgroundFetchEnabled is background fetch enabled? * @param pushSyncEnabled is push sync enabled? */ export declare function prepareBuildDir(buildDir: string, templateDir: string, pushEnabled: boolean, backgroundFetchEnabled: boolean, pushSyncEnabled: boolean): void; export interface ScCapacitorConfig { appName: string; appId?: string; appVersion: string; unsecureNetwork: boolean; keystorePath?: string; keystoreAlias?: string; keystorePassword?: string; keystoreAliasPassword?: string; buildType: string; } export declare function writeCapacitorConfig(buildDir: string, config: ScCapacitorConfig): void; export declare function prepAppIcon(buildDir: string, appIcon: string): void; export declare function androidPermissions(allowFCM: boolean): String[]; export declare function androidFeatures(): String[]; export declare function modifyAndroidManifest(buildDir: string, allowShareTo: boolean, allowFCM: boolean, allowAuthIntent: boolean, allowClearTextTraffic: boolean): Promise; export declare function hasAuthMethod(plugins: string[]): boolean; export declare function writeDataExtractionRules(buildDir: string): void; export declare function copyPrepopulatedDb(buildDir: string, platforms: string[]): void; export declare function extractDomain(url: string): string; export declare function writeNetworkSecurityConfig(buildDir: string, serverPath: string): void; export declare function modifyConfigXml(buildDir: string, config: any): Promise; /** * copy a png file into the build dir and use it as launcher icon * @param buildDir * @param appIcon path to appIcon file */ export declare function prepareAppIcon(buildDir: string, appIcon: string, platforms: string[]): Promise; /** * copy a png file into the build dir and use it as splash icon * This shows up before the splash page, while the infrastructure loads * TODO for now it's only one png for all sizes * @param buildDir * @param splashIcon * @param platforms */ export declare function prepareSplashIcon(buildDir: string, splashIcon: string, platforms: string[]): Promise; export declare function prepareExportOptionsPlist({ buildDir, appId, iosParams }: any): void; export declare function modifyInfoPlist(buildDir: string, allowShareTo: boolean, backgroundSyncEnabled: boolean, pushSyncEnabled: boolean, allowClearTextTraffic: boolean): void; export declare function writeEntitlementsPlist(buildDir: string): void; export declare function runAddEntitlementsScript(buildDir: string): void; export declare function copyShareExtFiles(buildDir: string): void; export declare function modifyShareViewController(buildDir: string, groupId: string): void; export declare function modifyAppDelegate(buildDir: string, backgroundSyncEnabled: boolean, pushSyncEnabled: boolean, allowShareTo: boolean): void; export declare function writePrivacyInfo(buildDir: string, backgroundSyncEnabled: boolean): void; /** * copy files from 'server/public' into the www folder (with a version_tag prefix) * @param buildDir directory where the app will be build */ export declare function copyServerFiles(buildDir: string): void; /** * Copy the 'site_logo_id' file into the www folder * @param buildDir * @returns */ export declare function copySiteLogo(buildDir: string): Promise; /** * create a cfg file, the app use this configs * @param param0 */ export declare function writeCfgFile({ buildDir, entryPoint, entryPointType, serverPath, synchedTables, tenantAppName, autoPublicLogin, showContinueAsPublicUser, allowOfflineMode, syncOnReconnect, syncOnAppResume, pushSync, syncInterval, allowShareTo, }: any): void; /** * create a file with all data from the db * the app updates its local db from this * @param buildDir directory where the app will be build * @param includedPlugins names of plugins that are bundled into the app */ export declare function buildTablesFile(buildDir: string, includedPlugins?: string[]): Promise; /** * copy files form 'server/locales' into the app * @param buildDir directory where the app will be build */ export declare function copyTranslationFiles(buildDir: string): void; /** * init an empty db * after the first startup, this db will be updated from the tables.json * @param buildDir directory where the app will be build */ export declare function createSqliteDb(buildDir: string): Promise; /** * Prepare a splash page * runs a page and writes the html into 'splash_page.html' of the www directory * @param buildDir * @param pageName splash page * @param serverUrl needed, if 'pageName' uses images from the server * @param tenantAppName * @param user */ export declare function prepareSplashPage(buildDir: string, pageName: string, serverUrl: string, tenantAppName?: string, user?: User): Promise; export declare function writePodfile(buildDir: string, hasPush: boolean, hasBackgroundFetch: boolean, hasSilentPush: boolean): void; /** * @param buildDir * @param appVersion new app version */ export declare function modifyXcodeProjectFile(buildDir: string, appVersion: string, iosCfg: IosCfg): void; export declare function generateAndroidVersionCode(appVersion: string): number; export declare function modifyGradleConfig(buildDir: string, appVersion: string, keyStoreData?: { keystorePath: string; keystorePassword: string; keyAlias: string; keyPassword: string; }): void; //# sourceMappingURL=common-build-utils.d.ts.map