1 | import DiagnosticList from './DiagnosticList';
|
2 | export declare enum AppType {
|
3 | APP = "app",
|
4 | CLOCKFACE = "clockface"
|
5 | }
|
6 | export declare const VALID_APP_TYPES: AppType[];
|
7 | export declare const MAX_LENGTH_APP_CLUSTER_ID = 64;
|
8 | export declare type LocalesConfig = {
|
9 | [locale: string]: {
|
10 | name: string;
|
11 | };
|
12 | };
|
13 | export interface BaseProjectConfiguration {
|
14 | appType: AppType;
|
15 | appDisplayName: string;
|
16 | appUUID: string;
|
17 | requestedPermissions: string[];
|
18 | i18n: LocalesConfig;
|
19 | defaultLanguage: string;
|
20 | buildTargets: string[];
|
21 | enableProposedAPI?: true;
|
22 | appClusterID?: string;
|
23 | developerID?: string;
|
24 | }
|
25 | export interface AppProjectConfiguration extends BaseProjectConfiguration {
|
26 | appType: AppType.APP;
|
27 | wipeColor: string;
|
28 | iconFile: string;
|
29 | }
|
30 | export interface ClockProjectConfiguration extends BaseProjectConfiguration {
|
31 | appType: AppType.CLOCKFACE;
|
32 | }
|
33 | declare type ProjectConfiguration = AppProjectConfiguration | ClockProjectConfiguration;
|
34 | export default ProjectConfiguration;
|
35 | export declare const MAX_DISPLAY_NAME_LENGTH = 30;
|
36 | export declare enum Locales {
|
37 | 'en-US' = "English (US)",
|
38 | 'de-DE' = "German",
|
39 | 'es-ES' = "Spanish",
|
40 | 'fr-FR' = "French",
|
41 | 'it-IT' = "Italian",
|
42 | 'ja-JP' = "Japanese",
|
43 | 'ko-KR' = "Korean",
|
44 | 'nl-NL' = "Dutch",
|
45 | 'sv-SE' = "Swedish",
|
46 | 'zh-CN' = "Chinese (Simplified)",
|
47 | 'zh-TW' = "Chinese (Traditional)",
|
48 | 'pt-BR' = "Portuguese (Brazillian)",
|
49 | 'id-ID' = "Indonesian (Bahasa)",
|
50 | 'ro-RO' = "Romanian",
|
51 | 'ru-RU' = "Russian",
|
52 | 'pl-PL' = "Polish",
|
53 | 'cs-CZ' = "Czech"
|
54 | }
|
55 | export declare enum Permission {
|
56 | ACCESS_ACTIVITY = "access_activity",
|
57 | ACCESS_AOD = "access_aod",
|
58 | ACCESS_APP_CLUSTER_STORAGE = "access_app_cluster_storage",
|
59 | ACCESS_CALENDAR = "access_calendar",
|
60 | ACCESS_EXERCISE = "access_exercise",
|
61 | ACCESS_HEART_RATE = "access_heart_rate",
|
62 | ACCESS_INTERNET = "access_internet",
|
63 | ACCESS_LOCATION = "access_location",
|
64 | ACCESS_SECURE_EXCHANGE = "access_secure_exchange",
|
65 | ACCESS_USER_PROFILE = "access_user_profile",
|
66 | FITBIT_TOKEN = "fitbit_token",
|
67 | RUN_BACKGROUND = "run_background",
|
68 | EXTERNAL_APP_COMMUNICATION = "external_app_communication",
|
69 | MOBILE_NOTIFICATIONS = "mobile_notifications"
|
70 | }
|
71 | export declare function getAllPermissionTypes(options: {
|
72 | enableProposedAPI?: boolean;
|
73 | includeRestrictedPermissions?: boolean;
|
74 | }): ({
|
75 | key: Permission;
|
76 | name: string;
|
77 | description: string;
|
78 | sdkVersion?: undefined;
|
79 | } | {
|
80 | key: Permission;
|
81 | name: string;
|
82 | description: string;
|
83 | sdkVersion: string;
|
84 | })[];
|
85 | export declare function normalizeLocales(locales: LocalesConfig): LocalesConfig;
|
86 | export declare function normalizeProjectConfig(config: any, defaults?: Partial<AppProjectConfiguration | ClockProjectConfiguration>): ProjectConfiguration;
|
87 | export declare function validateAppType(config: ProjectConfiguration): DiagnosticList;
|
88 | export declare function validateDisplayName(name: string): string | true;
|
89 | export declare function validateProjectDisplayName(config: ProjectConfiguration): DiagnosticList;
|
90 | export declare function validateWipeColor(config: ProjectConfiguration): DiagnosticList;
|
91 | export declare function validateRequestedPermissions({ enableProposedAPI, requestedPermissions, }: ProjectConfiguration): DiagnosticList;
|
92 | export declare function validateBuildTarget({ buildTargets }: ProjectConfiguration, { hasNativeComponents }: {
|
93 | hasNativeComponents: boolean;
|
94 | }): DiagnosticList;
|
95 | export declare function validateLocaleDisplayName({ i18n }: ProjectConfiguration, localeKey: keyof typeof Locales): DiagnosticList;
|
96 | export declare function validateLocaleDisplayNames(config: ProjectConfiguration): DiagnosticList;
|
97 | export declare function validateSupportedLocales({ i18n }: ProjectConfiguration): DiagnosticList;
|
98 | export declare function validateAppUUID({ appUUID }: ProjectConfiguration): DiagnosticList;
|
99 | export declare function validateDefaultLanguage(config: ProjectConfiguration): DiagnosticList;
|
100 | export declare function validateStorageGroup(config: ProjectConfiguration): DiagnosticList;
|
101 | interface ValidationOptions {
|
102 | hasNativeComponents?: boolean;
|
103 | }
|
104 | export declare function validate(config: ProjectConfiguration, options?: ValidationOptions): DiagnosticList;
|