/// <reference path="../types/colorthief.d.ts" />
import { DotAccessor } from '@iotize/common/data-accessor';
import { IotizeConfigModel, IotizeProfileModel } from '@iotize/device-client.js/config/iotize-studio';
import { BundleConfig, TapConfigSchema, VariableConfig } from '@iotize/device-client.js/config/schema/v1';
import { AboutPage, Color, ColorThemeList, FastlaneIntegration, FirebaseIntegration, MenuItem, MonitoringDashboardPage, MonitoringPage, Page as AppGeneratorPage, Page, ProtocolConfigurationPage, TabLayout, TapAppGeneratorSchema, TapConfigPage, TapConnectionPage, TapConnectivitySettingsPage, TapDevicePage, TapInfoPage, TapLoginPage, Theme, ThirdPartyIntegration, AndroidPlatform } from '../schema/appconfig';
export declare function createDefinitionsSchema(tapConfigSchema: TapConfigSchema): {
    "integration": {
        "FastlaneIntegration": {
            "title": string;
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "type": string;
                };
                "iOS": {
                    "type": string;
                    "properties": {
                        "enabled": {
                            "type": string;
                        };
                        "appleId": {
                            "type": string;
                        };
                        "teamId": {
                            "type": string;
                        };
                    };
                };
                "android": {
                    "type": string;
                    "properties": {
                        "enabled": {
                            "type": string;
                        };
                        "versionCode": {
                            "type": string;
                        };
                    };
                };
            };
        };
        "FirebaseIntegration": {
            "title": string;
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "projectId": {
                    "type": string;
                };
            };
        };
    };
    "Color": {
        "oneOf": {
            "type": string;
        }[];
        "title": string;
    };
    "ColorTheme": {
        "title": string;
        "type": string;
        "required": string[];
        "properties": {
            "name": {
                "type": string;
            };
            "value": {
                "title": string;
                "$ref": string;
            };
            "tint": {
                "$ref": string;
            };
            "contrast": {
                "$ref": string;
            };
            "shade": {
                "$ref": string;
            };
        };
    };
    "ColorThemeList": {
        "title": string;
        "type": string;
        "items": {
            "$ref": string;
        };
    };
    "TapCommunicationProtocol": {
        "type": string;
        "enum": string[];
    };
    "SubMenuItem": {
        "title": string;
        "type": string;
        "required": string[];
        "properties": {
            "title": {
                "title": string;
                "type": string;
            };
            "url": {
                "title": string;
                "type": string;
            };
            "icon": {
                "title": string;
                "$ref": string;
            };
        };
    };
    "TapProfileName": {
        "type": string;
    };
    "page": {
        "type": string;
        "required": string[];
        "properties": {
            "enabled": {
                "title": string;
                "description": string;
                "type": string;
                "default": string;
            };
            "pageTitle": {
                "title": string;
                "type": string;
            };
            "path": {
                "title": string;
                "description": string;
                "type": string;
            };
            "projectPath": {
                "title": string;
                "description": string;
                "type": string;
            };
        };
    };
    "MenuItem": {
        "title": string;
        "type": string;
        "required": string[];
        "properties": {
            "title": {
                "title": string;
                "type": string;
            };
            "url": {
                "title": string;
                "type": string;
            };
            "icon": {
                "title": string;
                "$ref": string;
            };
            "children": {
                "title": string;
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "HorizontalLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "elements": {
                "title": string;
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "ListLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "elements": {
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "TabLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "tabs": {
                "type": string;
                "items": {
                    "type": string;
                    "required": string[];
                    "properties": {
                        "label": {
                            "type": string;
                        };
                        "icon": {
                            "type": string;
                        };
                        "path": {
                            "type": string;
                        };
                    };
                };
            };
        };
    };
    "SwitchLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "cases": {
                "type": string;
                "items": {
                    "type": string;
                    "required": string[];
                    "properties": {
                        "condition": {
                            "type": string;
                        };
                        "content": {
                            "$ref": string;
                        };
                    };
                };
            };
        };
    };
    "ItemLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "elements": {
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "GridLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "cols": {
                "title": string;
                "description": string;
                "type": string;
            };
            "type": {
                "type": string;
                "const": string;
            };
            "elements": {
                "title": string;
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "CardLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "header": {
                "title": string;
                "type": string;
                "properties": {
                    "icon": {
                        "type": string;
                    };
                    "color": {
                        "type": string;
                    };
                };
            };
            "title": {
                "title": string;
                "type": string;
            };
            "icon": {
                "title": string;
                "$ref": string;
            };
            "description": {
                "title": string;
                "type": string;
            };
            "content": {
                "title": string;
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "VerticalLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "elements": {
                "title": string;
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "TextLayout": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "content": {
                "title": string;
                "description": string;
                "type": string;
            };
        };
    };
    "TapConfigItemComponent": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "info": {
                "type": string;
                "properties": {
                    "key": {
                        "type": string;
                    };
                    "title": {
                        "type": string;
                    };
                    "description": {
                        "type": string;
                    };
                    "editable": {
                        "type": string;
                    };
                };
            };
        };
    };
    "TapConfigListComponent": {
        "type": string;
        "title": string;
        "required": string[];
        "properties": {
            "type": {
                "type": string;
                "const": string;
            };
            "items": {
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
        };
    };
    "DashboardInnerElement": {
        "type": string;
        "oneOf": ({
            "title": string;
            "$ref": string;
        } | {
            "$ref": string;
            "title"?: undefined;
        })[];
    };
    "Layout": {
        "title": string;
        "type": string;
        "oneOf": ({
            "title": string;
            "$ref": string;
        } | {
            "$ref": string;
            "title"?: undefined;
        })[];
    };
    "TapVariableMonitorBaseComponent": {
        "type": string;
        "required": string[];
        "properties": {
            "variable": {
                "title": string;
                "$ref": string;
            };
            "variableIndex": {
                "title": string;
                "description": string;
                "type": string;
            };
        };
    };
    "TapVariableMonitorComponents": {
        "title": string;
        "type": string;
        "oneOf": {
            "title": string;
            "$ref": string;
        }[];
    };
    "icon": {
        "type": string;
        "description": string;
    };
    "variable-list": {
        "type": string;
    };
    "TapVariableGaugeComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "min": {
                    "title": string;
                    "type": string;
                };
                "max": {
                    "title": string;
                    "type": string;
                };
                "unit": {
                    "title": string;
                    "type": string;
                };
                "dynamicRange": {
                    "title": string;
                    "type": string;
                    "description": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapVariableTextComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "unit": {
                    "title": string;
                    "type": string;
                };
                "editable": {
                    "title": string;
                    "type": string;
                };
                "digitsInfo": {
                    "description": string;
                    "type": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapVariableToggleComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "conditionOn": {
                    "title": string;
                    "description": string;
                    "exemple": string[];
                    "type": string;
                };
                "editable": {
                    "title": string;
                    "type": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapVariableRangeComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "disabled": {
                    "title": string;
                    "type": string;
                };
                "min": {
                    "title": string;
                    "type": string;
                };
                "max": {
                    "title": string;
                    "type": string;
                };
                "step": {
                    "title": string;
                    "type": string;
                    "default": number;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapVariableChartComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "label": {
                    "type": string;
                };
                "options": {
                    "type": string;
                    "additionalProperties": boolean;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapVariableContextComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "context": {
                    "type": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapVariableCardComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "title": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
                "type": {
                    "const": string;
                    "title": string;
                };
                "icon": {
                    "title": string;
                    "$ref": string;
                };
                "description": {
                    "title": string;
                    "type": string;
                };
                "unit": {
                    "title": string;
                    "type": string;
                };
                "editable": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapVariableButtonsComponent": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "title": string;
                    "type": string;
                };
                "actions": {
                    "title": string;
                    "type": string;
                    "items": {
                        "type": string;
                        "properties": {
                            "name": {
                                "type": string;
                                "description": string;
                                "title": string;
                            };
                            "value": {
                                "title": string;
                                "description": string;
                                "oneOf": {
                                    "type": string;
                                }[];
                            };
                            "icon": {
                                "title": string;
                                "$ref": string;
                            };
                        };
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapInfo": {
        "type": string;
        "enum": string[];
    };
    "TapInfoList": {
        "type": string;
        "items": {
            "type": string;
            "required": string[];
            "properties": {
                "key": {
                    "$ref": string;
                };
                "title": {
                    "type": string;
                };
                "description": {
                    "type": string;
                };
                "editable": {
                    "type": string;
                };
            };
        };
    };
    "MonitoringDashboardPage": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "title": string;
                    "const": string;
                };
                "profileName": {
                    "title": string;
                    "description": string;
                    "$ref": string;
                };
                "content": {
                    "$ref": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapInfoPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "type": string;
                };
                "items": {
                    "type": string;
                    "properties": {
                        "title": {
                            "type": string;
                        };
                        "items": {
                            "$ref": string;
                        };
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapConfigPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "type": string;
                };
                "authorizedProfiles": {
                    "description": string;
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
                "content": {
                    "$ref": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapConnectivitySettingsPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "type": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapDevicePage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "type": string;
                };
                "children": {
                    "type": string;
                    "properties": {
                        "TapInfoPage": {
                            "$ref": string;
                        };
                        "TapConfigPage": {
                            "$ref": string;
                        };
                        "TapConnectivitySettingsPage": {
                            "$ref": string;
                        };
                        "MonitoringPage": {
                            "$ref": string;
                        };
                        "TabPage": {
                            "$ref": string;
                        };
                        "ProtocolConfigurationPage": {
                            "$ref": string;
                        };
                        "TapLoginPage": {
                            "$ref": string;
                        };
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "MonitoringPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "type": string;
                };
                "children": {
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TabPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "const": string;
                    "type": string;
                };
                "defaultPage": {
                    "type": string;
                };
                "children": {
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapConnectionPage": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "const": string;
                    "type": string;
                };
                "protocols": {
                    "type": string;
                    "title": string;
                    "properties": {
                        "mqtt": {
                            "title": string;
                            "type": string;
                            "properties": {
                                "enabled": {
                                    "title": string;
                                    "description": string;
                                    "type": string;
                                };
                            };
                        };
                        "socket": {
                            "title": string;
                            "type": string;
                            "properties": {
                                "enabled": {
                                    "title": string;
                                    "description": string;
                                    "type": string;
                                };
                            };
                            "_properties": {
                                "enableNetworkScan": {
                                    "type": string;
                                    "description": string;
                                };
                                "enableWifiAccessPointScan": {
                                    "type": string;
                                    "description": string;
                                };
                                "enableWebsocket": {
                                    "type": string;
                                };
                                "enableSoket": {
                                    "type": string;
                                };
                            };
                        };
                        "nfc": {
                            "title": string;
                            "type": string;
                            "properties": {
                                "enabled": {
                                    "description": string;
                                    "type": string;
                                };
                                "energyHarvesting": {
                                    "description": string;
                                    "type": string;
                                };
                            };
                        };
                        "ble": {
                            "title": string;
                            "type": string;
                            "properties": {
                                "enabled": {
                                    "title": string;
                                    "description": string;
                                    "type": string;
                                };
                            };
                        };
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "AboutPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "items": {
                    "title": string;
                    "description": string;
                    "type": string;
                    "items": {
                        "title": string;
                        "required": string[];
                        "type": string;
                        "properties": {
                            "title": {
                                "title": string;
                                "type": string;
                            };
                            "value": {
                                "title": string;
                                "type": string;
                            };
                        };
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "TapLoginPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "NotFoundPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "ProtocolConfigurationPage": {
        "title": string;
        "type": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "serialSettings": {
                    "type": string;
                    "title": string;
                    "description": string;
                };
                "modbusSettings": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
                "tapnpassSettings": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
            };
            "$ref"?: undefined;
        })[];
    };
    "app": {
        "type": string;
        "title": string;
        "required": string[];
        "_prop_protocols": {
            "type": string;
            "items": {
                "$ref": string;
            };
        };
        "properties": {
            "id": {
                "type": string;
                "title": string;
                "description": string;
                "default": string;
            };
            "domain": {
                "type": string;
                "title": string;
                "descripton": string;
                "default": string;
            };
            "description": {
                "type": string;
                "title": string;
            };
            "name": {
                "type": string;
                "title": string;
            };
            "version": {
                "type": string;
                "title": string;
            };
            "defaultPage": {
                "title": string;
                "type": string;
                "description": string;
            };
            "logo": {
                "title": string;
                "type": string;
                "properties": {
                    "image": {
                        "type": string;
                        "description": string;
                    };
                };
            };
            "splashScreen": {
                "title": string;
                "type": string;
                "properties": {
                    "image": {
                        "title": string;
                        "type": string;
                    };
                };
            };
            "integration": {
                "type": string;
                "items": {
                    "title": string;
                    "oneOf": {
                        "$ref": string;
                    }[];
                };
            };
            "theme": {
                "title": string;
                "type": string;
                "required": string[];
                "properties": {
                    "colors": {
                        "$ref": string;
                    };
                };
            };
            "platforms": {
                "type": string;
                "properties": {
                    "android": {
                        "title": string;
                        "type": string;
                        "properties": {
                            "enabled": {
                                "title": string;
                                "type": string;
                            };
                        };
                    };
                    "ios": {
                        "title": string;
                        "type": string;
                        "properties": {
                            "enabled": {
                                "title": string;
                                "type": string;
                            };
                        };
                    };
                    "browser": {
                        "title": string;
                        "type": string;
                        "properties": {
                            "enabled": {
                                "description": string;
                                "title": string;
                                "type": string;
                            };
                            "PWA": {
                                "title": string;
                                "description": string;
                                "type": string;
                            };
                        };
                    };
                };
            };
            "pages": {
                "type": string;
                "title": string;
                "properties": {
                    "TapConnectionPage": {
                        "$ref": string;
                    };
                    "TapDevicePage": {
                        "$ref": string;
                    };
                    "AboutPage": {
                        "$ref": string;
                    };
                    "NotFoundPage": {
                        "$ref": string;
                    };
                };
            };
            "menu": {
                "type": string;
                "items": {
                    "$ref": string;
                }; /**
                 * TODO
                 * @param pageName
                 */
            };
        };
    };
    "ui-components": {
        "type": string;
        "items": {
            "$ref": string;
        };
    };
    "NgxChartsLinearGauge": {
        "title": string;
        "allOf": ({
            "$ref": string;
            "type"?: undefined;
            "required"?: undefined;
            "properties"?: undefined;
        } | {
            "type": string;
            "required": string[];
            "properties": {
                "type": {
                    "title": string;
                    "type": string;
                    "const": string;
                };
                "options": {
                    "type": string;
                    "required": never[];
                    "properties": {
                        "min": {
                            "title": string;
                            "type": string;
                            "description": string;
                        };
                        "max": {
                            "title": string;
                            "type": string;
                            "description": string;
                        };
                        "units": {
                            "title": string;
                            "description": string;
                            "type": string;
                        };
                        "valueFormatting": {
                            "title": string;
                            "type": string;
                            "description": string;
                        };
                    };
                };
            };
            "$ref"?: undefined;
        })[];
    };
};
export declare function createSchema(tapConfigSchema: TapConfigSchema): {
    "title": string;
    "type": string;
    "required": string[];
    "properties": {
        "version": {
            "title": string;
            "type": string;
            "properties": {
                "generator": {
                    "type": string;
                    "title": string;
                };
            };
        };
        "app": {
            "$ref": string;
        };
        "formMeta": {
            "type": string;
            "title": string;
            "properties": {
                "showAdvanceSettings": {
                    "type": string;
                    "title": string;
                };
            };
        };
    };
    "definitions": {
        "integration": {
            "FastlaneIntegration": {
                "title": string;
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "type": string;
                    };
                    "iOS": {
                        "type": string;
                        "properties": {
                            "enabled": {
                                "type": string;
                            };
                            "appleId": {
                                "type": string;
                            };
                            "teamId": {
                                "type": string;
                            };
                        };
                    };
                    "android": {
                        "type": string;
                        "properties": {
                            "enabled": {
                                "type": string;
                            };
                            "versionCode": {
                                "type": string;
                            };
                        };
                    };
                };
            };
            "FirebaseIntegration": {
                "title": string;
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "type": string;
                        "const": string;
                    };
                    "projectId": {
                        "type": string;
                    };
                };
            };
        };
        "Color": {
            "oneOf": {
                "type": string;
            }[];
            "title": string;
        };
        "ColorTheme": {
            "title": string;
            "type": string;
            "required": string[];
            "properties": {
                "name": {
                    "type": string;
                };
                "value": {
                    "title": string;
                    "$ref": string;
                };
                "tint": {
                    "$ref": string;
                };
                "contrast": {
                    "$ref": string;
                };
                "shade": {
                    "$ref": string;
                };
            };
        };
        "ColorThemeList": {
            "title": string;
            "type": string;
            "items": {
                "$ref": string;
            };
        };
        "TapCommunicationProtocol": {
            "type": string;
            "enum": string[];
        };
        "SubMenuItem": {
            "title": string;
            "type": string;
            "required": string[];
            "properties": {
                "title": {
                    "title": string;
                    "type": string;
                };
                "url": {
                    "title": string;
                    "type": string;
                };
                "icon": {
                    "title": string;
                    "$ref": string;
                };
            };
        };
        "TapProfileName": {
            "type": string;
        };
        "page": {
            "type": string;
            "required": string[];
            "properties": {
                "enabled": {
                    "title": string;
                    "description": string;
                    "type": string;
                    "default": string;
                };
                "pageTitle": {
                    "title": string;
                    "type": string;
                };
                "path": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
                "projectPath": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
            };
        };
        "MenuItem": {
            "title": string;
            "type": string;
            "required": string[];
            "properties": {
                "title": {
                    "title": string;
                    "type": string;
                };
                "url": {
                    "title": string;
                    "type": string;
                };
                "icon": {
                    "title": string;
                    "$ref": string;
                };
                "children": {
                    "title": string;
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "HorizontalLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "elements": {
                    "title": string;
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "ListLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "elements": {
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "TabLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "tabs": {
                    "type": string;
                    "items": {
                        "type": string;
                        "required": string[];
                        "properties": {
                            "label": {
                                "type": string;
                            };
                            "icon": {
                                "type": string;
                            };
                            "path": {
                                "type": string;
                            };
                        };
                    };
                };
            };
        };
        "SwitchLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "cases": {
                    "type": string;
                    "items": {
                        "type": string;
                        "required": string[];
                        "properties": {
                            "condition": {
                                "type": string;
                            };
                            "content": {
                                "$ref": string;
                            };
                        };
                    };
                };
            };
        };
        "ItemLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "elements": {
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "GridLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "cols": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
                "type": {
                    "type": string;
                    "const": string;
                };
                "elements": {
                    "title": string;
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "CardLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "header": {
                    "title": string;
                    "type": string;
                    "properties": {
                        "icon": {
                            "type": string;
                        };
                        "color": {
                            "type": string;
                        };
                    };
                };
                "title": {
                    "title": string;
                    "type": string;
                };
                "icon": {
                    "title": string;
                    "$ref": string;
                };
                "description": {
                    "title": string;
                    "type": string;
                };
                "content": {
                    "title": string;
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "VerticalLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "elements": {
                    "title": string;
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "TextLayout": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "content": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
            };
        };
        "TapConfigItemComponent": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "info": {
                    "type": string;
                    "properties": {
                        "key": {
                            "type": string;
                        };
                        "title": {
                            "type": string;
                        };
                        "description": {
                            "type": string;
                        };
                        "editable": {
                            "type": string;
                        };
                    };
                };
            };
        };
        "TapConfigListComponent": {
            "type": string;
            "title": string;
            "required": string[];
            "properties": {
                "type": {
                    "type": string;
                    "const": string;
                };
                "items": {
                    "type": string;
                    "items": {
                        "$ref": string;
                    };
                };
            };
        };
        "DashboardInnerElement": {
            "type": string;
            "oneOf": ({
                "title": string;
                "$ref": string;
            } | {
                "$ref": string;
                "title"?: undefined;
            })[];
        };
        "Layout": {
            "title": string;
            "type": string;
            "oneOf": ({
                "title": string;
                "$ref": string;
            } | {
                "$ref": string;
                "title"?: undefined;
            })[];
        };
        "TapVariableMonitorBaseComponent": {
            "type": string;
            "required": string[];
            "properties": {
                "variable": {
                    "title": string;
                    "$ref": string;
                };
                "variableIndex": {
                    "title": string;
                    "description": string;
                    "type": string;
                };
            };
        };
        "TapVariableMonitorComponents": {
            "title": string;
            "type": string;
            "oneOf": {
                "title": string;
                "$ref": string;
            }[];
        };
        "icon": {
            "type": string;
            "description": string;
        };
        "variable-list": {
            "type": string;
        };
        "TapVariableGaugeComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "min": {
                        "title": string;
                        "type": string;
                    };
                    "max": {
                        "title": string;
                        "type": string;
                    };
                    "unit": {
                        "title": string;
                        "type": string;
                    };
                    "dynamicRange": {
                        "title": string;
                        "type": string;
                        "description": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapVariableTextComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "unit": {
                        "title": string;
                        "type": string;
                    };
                    "editable": {
                        "title": string;
                        "type": string;
                    };
                    "digitsInfo": {
                        "description": string;
                        "type": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapVariableToggleComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "conditionOn": {
                        "title": string;
                        "description": string;
                        "exemple": string[];
                        "type": string;
                    };
                    "editable": {
                        "title": string;
                        "type": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapVariableRangeComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "disabled": {
                        "title": string;
                        "type": string;
                    };
                    "min": {
                        "title": string;
                        "type": string;
                    };
                    "max": {
                        "title": string;
                        "type": string;
                    };
                    "step": {
                        "title": string;
                        "type": string;
                        "default": number;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapVariableChartComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "label": {
                        "type": string;
                    };
                    "options": {
                        "type": string;
                        "additionalProperties": boolean;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapVariableContextComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "context": {
                        "type": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapVariableCardComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "title": {
                        "title": string;
                        "description": string;
                        "type": string;
                    };
                    "type": {
                        "const": string;
                        "title": string;
                    };
                    "icon": {
                        "title": string;
                        "$ref": string;
                    };
                    "description": {
                        "title": string;
                        "type": string;
                    };
                    "unit": {
                        "title": string;
                        "type": string;
                    };
                    "editable": {
                        "title": string;
                        "description": string;
                        "type": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapVariableButtonsComponent": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "title": string;
                        "type": string;
                    };
                    "actions": {
                        "title": string;
                        "type": string;
                        "items": {
                            "type": string;
                            "properties": {
                                "name": {
                                    "type": string;
                                    "description": string;
                                    "title": string;
                                };
                                "value": {
                                    "title": string;
                                    "description": string;
                                    "oneOf": {
                                        "type": string;
                                    }[];
                                };
                                "icon": {
                                    "title": string;
                                    "$ref": string;
                                };
                            };
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapInfo": {
            "type": string;
            "enum": string[];
        };
        "TapInfoList": {
            "type": string;
            "items": {
                "type": string;
                "required": string[];
                "properties": {
                    "key": {
                        "$ref": string;
                    };
                    "title": {
                        "type": string;
                    };
                    "description": {
                        "type": string;
                    };
                    "editable": {
                        "type": string;
                    };
                };
            };
        };
        "MonitoringDashboardPage": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "type": string;
                        "title": string;
                        "const": string;
                    };
                    "profileName": {
                        "title": string;
                        "description": string;
                        "$ref": string;
                    };
                    "content": {
                        "$ref": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapInfoPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "type": string;
                    };
                    "items": {
                        "type": string;
                        "properties": {
                            "title": {
                                "type": string;
                            };
                            "items": {
                                "$ref": string;
                            };
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapConfigPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "type": string;
                    };
                    "authorizedProfiles": {
                        "description": string;
                        "type": string;
                        "items": {
                            "$ref": string;
                        };
                    };
                    "content": {
                        "$ref": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapConnectivitySettingsPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "type": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapDevicePage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "type": string;
                    };
                    "children": {
                        "type": string;
                        "properties": {
                            "TapInfoPage": {
                                "$ref": string;
                            };
                            "TapConfigPage": {
                                "$ref": string;
                            };
                            "TapConnectivitySettingsPage": {
                                "$ref": string;
                            };
                            "MonitoringPage": {
                                "$ref": string;
                            };
                            "TabPage": {
                                "$ref": string;
                            };
                            "ProtocolConfigurationPage": {
                                "$ref": string;
                            };
                            "TapLoginPage": {
                                "$ref": string;
                            };
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "MonitoringPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "type": string;
                    };
                    "children": {
                        "type": string;
                        "items": {
                            "$ref": string;
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TabPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "const": string;
                        "type": string;
                    };
                    "defaultPage": {
                        "type": string;
                    };
                    "children": {
                        "type": string;
                        "items": {
                            "$ref": string;
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapConnectionPage": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "const": string;
                        "type": string;
                    };
                    "protocols": {
                        "type": string;
                        "title": string;
                        "properties": {
                            "mqtt": {
                                "title": string;
                                "type": string;
                                "properties": {
                                    "enabled": {
                                        "title": string;
                                        "description": string;
                                        "type": string;
                                    };
                                };
                            };
                            "socket": {
                                "title": string;
                                "type": string;
                                "properties": {
                                    "enabled": {
                                        "title": string;
                                        "description": string;
                                        "type": string;
                                    };
                                };
                                "_properties": {
                                    "enableNetworkScan": {
                                        "type": string;
                                        "description": string;
                                    };
                                    "enableWifiAccessPointScan": {
                                        "type": string;
                                        "description": string;
                                    };
                                    "enableWebsocket": {
                                        "type": string;
                                    };
                                    "enableSoket": {
                                        "type": string;
                                    };
                                };
                            };
                            "nfc": {
                                "title": string;
                                "type": string;
                                "properties": {
                                    "enabled": {
                                        "description": string;
                                        "type": string;
                                    };
                                    "energyHarvesting": {
                                        "description": string;
                                        "type": string;
                                    };
                                };
                            };
                            "ble": {
                                "title": string;
                                "type": string;
                                "properties": {
                                    "enabled": {
                                        "title": string;
                                        "description": string;
                                        "type": string;
                                    };
                                };
                            };
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "AboutPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "items": {
                        "title": string;
                        "description": string;
                        "type": string;
                        "items": {
                            "title": string;
                            "required": string[];
                            "type": string;
                            "properties": {
                                "title": {
                                    "title": string;
                                    "type": string;
                                };
                                "value": {
                                    "title": string;
                                    "type": string;
                                };
                            };
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "TapLoginPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "NotFoundPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "ProtocolConfigurationPage": {
            "title": string;
            "type": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "serialSettings": {
                        "type": string;
                        "title": string;
                        "description": string;
                    };
                    "modbusSettings": {
                        "title": string;
                        "description": string;
                        "type": string;
                    };
                    "tapnpassSettings": {
                        "title": string;
                        "description": string;
                        "type": string;
                    };
                };
                "$ref"?: undefined;
            })[];
        };
        "app": {
            "type": string;
            "title": string;
            "required": string[];
            "_prop_protocols": {
                "type": string;
                "items": {
                    "$ref": string;
                };
            };
            "properties": {
                "id": {
                    "type": string;
                    "title": string;
                    "description": string;
                    "default": string;
                };
                "domain": {
                    "type": string;
                    "title": string;
                    "descripton": string;
                    "default": string;
                };
                "description": {
                    "type": string;
                    "title": string;
                };
                "name": {
                    "type": string;
                    "title": string;
                };
                "version": {
                    "type": string;
                    "title": string;
                };
                "defaultPage": {
                    "title": string;
                    "type": string;
                    "description": string;
                };
                "logo": {
                    "title": string;
                    "type": string;
                    "properties": {
                        "image": {
                            "type": string;
                            "description": string;
                        };
                    };
                };
                "splashScreen": {
                    "title": string;
                    "type": string;
                    "properties": {
                        "image": {
                            "title": string;
                            "type": string;
                        };
                    };
                };
                "integration": {
                    "type": string;
                    "items": {
                        "title": string;
                        "oneOf": {
                            "$ref": string;
                        }[];
                    };
                };
                "theme": {
                    "title": string;
                    "type": string;
                    "required": string[];
                    "properties": {
                        "colors": {
                            "$ref": string;
                        };
                    };
                };
                "platforms": {
                    "type": string;
                    "properties": {
                        "android": {
                            "title": string;
                            "type": string;
                            "properties": {
                                "enabled": {
                                    "title": string;
                                    "type": string;
                                };
                            };
                        };
                        "ios": {
                            "title": string;
                            "type": string;
                            "properties": {
                                "enabled": {
                                    "title": string;
                                    "type": string;
                                };
                            };
                        };
                        "browser": {
                            "title": string;
                            "type": string;
                            "properties": {
                                "enabled": {
                                    "description": string;
                                    "title": string;
                                    "type": string;
                                };
                                "PWA": {
                                    "title": string;
                                    "description": string;
                                    "type": string;
                                };
                            };
                        };
                    };
                };
                "pages": {
                    "type": string;
                    "title": string;
                    "properties": {
                        "TapConnectionPage": {
                            "$ref": string;
                        };
                        "TapDevicePage": {
                            "$ref": string;
                        };
                        "AboutPage": {
                            "$ref": string;
                        };
                        "NotFoundPage": {
                            "$ref": string;
                        };
                    };
                };
                "menu": {
                    "type": string;
                    "items": {
                        "$ref": string;
                    }; /**
                     * TODO
                     * @param pageName
                     */
                };
            };
        };
        "ui-components": {
            "type": string;
            "items": {
                "$ref": string;
            };
        };
        "NgxChartsLinearGauge": {
            "title": string;
            "allOf": ({
                "$ref": string;
                "type"?: undefined;
                "required"?: undefined;
                "properties"?: undefined;
            } | {
                "type": string;
                "required": string[];
                "properties": {
                    "type": {
                        "title": string;
                        "type": string;
                        "const": string;
                    };
                    "options": {
                        "type": string;
                        "required": never[];
                        "properties": {
                            "min": {
                                "title": string;
                                "type": string;
                                "description": string;
                            };
                            "max": {
                                "title": string;
                                "type": string;
                                "description": string;
                            };
                            "units": {
                                "title": string;
                                "description": string;
                                "type": string;
                            };
                            "valueFormatting": {
                                "title": string;
                                "type": string;
                                "description": string;
                            };
                        };
                    };
                };
                "$ref"?: undefined;
            })[];
        };
    };
};
export declare function createDefaultConfigGenerator(tapConfigSchema: TapConfigSchema, iotizeStudioConfigXml: string | undefined): ConfigGenerator;
export declare class ConfigGenerator {
    schema: TapAppGeneratorSchema;
    tapConfig: TapConfigSchema;
    iotizeStudioConfigXml: string | undefined;
    _logger: {
        warn: any;
        info: any;
        debug: any;
    };
    get androidOptions(): AndroidPlatform;
    constructor(schema: TapAppGeneratorSchema, tapConfig: TapConfigSchema, iotizeStudioConfigXml: string | undefined, _logger?: {
        warn: any;
        info: any;
        debug: any;
    });
    get iotizeStudioConfig(): IotizeConfigModel | undefined;
    get iotizeStudioConfigDotAccessor(): DotAccessor | undefined;
    get appTheme(): AppThemeGenerator;
    get pages(): import("../schema/appconfig").Pages;
    get rootPageList(): AppGeneratorPage[];
    get pageList(): AppGeneratorPage[];
    private get logger();
    private _iotizeStudioConfig?;
    private _iotizeStudioConfigDotAccessor?;
    static fromTapConfig(tapConfig: TapConfigSchema, iotizeStudioConfigXML?: string): ConfigGenerator;
    build(): TapAppGeneratorSchema;
    setAppId(id: string): this;
    addFastlaneIntegration(fastlaneIntegartion: FastlaneIntegration): FastlaneIntegration;
    addFirebaseIntegration(firebaseIntegration: FirebaseIntegration): FirebaseIntegration;
    addIntegration(integration: ThirdPartyIntegration): ThirdPartyIntegration;
    createDefaultMenu(): void;
    addDefaultPageMenu(page: Page): MenuItem | undefined;
    private _pageList;
    notFoundPage(relativePath?: string): AppGeneratorPage;
    connectionPage(relativePath?: string, override?: Partial<TapConnectionPage>): TapConnectionPage;
    infoPage(projectPath?: string, override?: Partial<TapInfoPage>): TapInfoPage;
    /**
     * Create a dashboard configuration according to Tap Schema.
     */
    addDashboard(profile: string | IotizeProfileModel, path: string, projectPath: string, moduleName?: string): MonitoringDashboardPage;
    _createVariableMonitorComponent(iotizeStudioConfig: IotizeConfigModel | undefined, bundle: BundleConfig, variable: VariableConfig, profileName: string): import("../schema/appconfig").VerticalLayout | import("../schema/appconfig").CardLayout1 | TabLayout | import("../schema/appconfig").SwitchLayout | undefined;
    tapConnectivitySettings(relativePath?: string, override?: Partial<TapConnectivitySettingsPage>): TapConnectivitySettingsPage;
    about(relativePath?: string, override?: Partial<AboutPage>): AboutPage;
    monitoringPage(projectPath?: string, dashboardProfiles?: (string | IotizeProfileModel)[]): MonitoringPage;
    tapDevicePage(projectPath?: string): TapDevicePage;
    tapConfigPage(projectPath?: string, override?: Partial<TapConfigPage>): TapConfigPage;
    protocolConfigurationPage(projectPath?: string, override?: Partial<ProtocolConfigurationPage>): ProtocolConfigurationPage;
    tapLoginPage(projectPath?: string): TapLoginPage;
    getOrCreateDashboard(profile: string | IotizeProfileModel, _options: {
        reconfigure?: boolean;
        project?: string;
        name?: string;
    }): MonitoringDashboardPage;
    addMenu(item: MenuItem): void;
    addMenuForPage(page: AppGeneratorPage, icon?: string): MenuItem | undefined;
    addMenuForSubPage(page: AppGeneratorPage, icon: string, parentPageString: string): MenuItem | undefined;
    getPageByPath<T extends AppGeneratorPage>(path: string, pages?: AppGeneratorPage[]): T | undefined;
    getOrCreatePageByPath<T extends AppGeneratorPage>(path: string, defaultValue: T): T;
    getPageByType<T extends AppGeneratorPage>(type: string): T | undefined;
    hasPageType(type: string): boolean;
    addPage<T extends AppGeneratorPage>(page: T): this;
    getDefaultPage(): string;
    /**
     * TODO
     * @param pageName
     */
    hasPageByPath(path: string): boolean;
    getOrCreateAppPage<T extends AppGeneratorPage>(appPage: T): T;
    getOrCreateSubPage<T extends AppGeneratorPage>(appPage: T, parentPageOrString: AppGeneratorPage | string, defaultSubProjectPath?: string, subPageKey?: string): T;
}
export declare class AppThemeGenerator {
    options: {
        shadeFactor: number;
        tintFactor: number;
    };
    theme: Theme;
    get colors(): ColorThemeList;
    constructor(theme?: Theme);
    fromImage(fromImage: string): Promise<void>;
    /**
     * set color theme from name
     * @param themeName
     */
    initTheme(themeName?: string): void;
    /**
     * Set a new color in theme
     * @param name
     * @param value
     */
    setColor(name: string, value: Color | number[]): void;
    /**
     * Inspired by https://maketintsandshades.com/about
     * @param color
     * @param variant
     */
    computeVariant(color: number, variant: 'contrast' | 'shade' | 'tint'): number;
    private _applyFactor;
}
export declare function isDarkColor(hexColor: number): boolean;
export declare function hexToRgb(c: number): {
    r: number;
    g: number;
    b: number;
};
