/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
/**
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\-]*$".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\-]*$".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\-]*$".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\-]*$".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\-]*$".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\-]*$".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\-]*$".
 */
export type TerminologySetting = {
    /**
     * Represents the alternative for bundleUrl
     */
    bundleName: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
} | {
    /**
     * Represents the URL for the resource bundle
     */
    bundleUrl: string;
    /**
     * Indicates whether url is relative to component (default) or manifest
     */
    bundleUrlRelativeTo?: "manifest" | "component";
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
};
export type EnhanceWithSetting = {
    /**
     * Represents property url for model enhancement
     */
    bundleUrl: string;
    /**
     * Indicates whether url is relative to component (default) or manifest
     */
    bundleUrlRelativeTo?: "manifest" | "component";
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
} | {
    /**
     * Represents the alternative for bundleUrl
     */
    bundleName: string;
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
};
export type EnhanceWithSetting1 = {
    /**
     * Represents property url for model enhancement
     */
    bundleUrl: string;
    /**
     * Indicates whether url is relative to component (default) or manifest
     */
    bundleUrlRelativeTo?: "manifest" | "component";
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
} | {
    /**
     * Represents the alternative for bundleUrl
     */
    bundleName: string;
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
};
export type Version = string;
export type Tag = (string | string)[];
/**
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*$".
 */
export type DataSource = DataSourceEnum | DataSourceCustom;
export type ObjectName = string;
export type ObjectType = "query" | "cdsprojectionview" | "view" | "inamodel";
/**
 * Represents sapui5 attributes
 */
export type JSONSchemaForSAPUI5Namespace = {
    /**
     *  Represents SAPUI5 attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0" | "1.7.0" | "1.8.0" | "1.9.0" | "1.10.0" | "1.11.0" | "1.12.0" | "1.13.0" | "1.14.0" | "1.15.0" | "1.16.0" | "1.17.0";
    resources?: Resource;
    /**
     * Represents the explicit usage declaration for UI5 reuse components
     */
    componentUsages?: {
        [k: string]: ComponentUsages;
    };
    /**
     * Represents external dependences such as libraries or components, that will be loaded by UI5 Core in the initialization phase of your Component and can be used after it
     */
    dependencies: {
        /**
         * Represents the minimum version of SAP UI5 that your component requires
         */
        minUI5Version: string;
        /**
         * Represents the id (namespace) of the libraries that should be loaded by UI5 Core to be used in your component
         */
        libs?: {
            [k: string]: Lib;
        };
        /**
         * Represents the id (namespace) of the components that should be loaded by UI5 Core to be used in your component
         */
        components?: {
            [k: string]: Component;
        };
    };
    /**
     * Represents models which should be created/destroyed with the life-cycle of the component
     */
    models?: {
        [k: string]: Model;
    };
    /**
     * Represents relative path to the resource. Only relative path allowed, no '../'
     */
    resourceRoots?: {
        [k: string]: ResourceRoot;
    };
    /**
     * Represents the usage of validation handling by MessageManager for this component (enable/disable)
     */
    handleValidation?: boolean;
    /**
     * Represents the static configuration for components
     */
    config?: {
        [k: string]: Config;
    };
    /**
     * Represents the extension of an additional component
     */
    extends?: {
        /**
         * Represents the component name
         */
        component?: string;
        /**
         * Represents minimal version of the component
         */
        minVersion?: string;
        /**
         * Represents extensions of the component
         */
        extensions?: {
            [k: string]: unknown;
        };
    };
    /**
     * Represents object with content density modes the app is supporting. Supported density modes are 'cozy' and 'compact'
     */
    contentDensities: {
        /**
         * Represents indicator whether compact mode is supported
         */
        compact: boolean;
        /**
         * Represents indicator whether cozy mode is supported
         */
        cozy: boolean;
    };
    /**
     * Represents a name of the UI5 component
     */
    componentName?: string;
    /**
     * Enables the auto prefixing of IDs of ManagedObjects (e.g. Controls) which are created in context of the Component (e.g. createContent invocation)
     */
    autoPrefixId?: boolean;
    /**
     * Represents the identifier of an application variant. The value will be calculated and should not be set manually
     */
    appVariantId?: string;
    /**
     * Represents array of appVariantId hierarchy with origin layer and version, calculated attribute and filled automatically during variant merge
     */
    appVariantIdHierarchy?: {
        /**
         * Represents origin layer of the app variant id
         */
        layer: string;
        /**
         * Represents app variant id
         */
        appVariantId: string;
        /**
         * Represents version of the app variant id
         */
        version: string;
    }[];
    /**
     * Represents a list of the services
     */
    services?: {
        [k: string]: Service;
    };
    /**
     * Represents UI5 library specific properties
     */
    library?: {
        /**
         * Setting to define i18n properties of a library. Can either be a boolean, string or object.
         */
        i18n?: boolean | string | {
            /**
             * Represents the URL for the resource bundle
             */
            bundleUrl: string;
            /**
             * Represents the list of supported locales
             */
            supportedLocales?: unknown[];
            /**
             * Represents the fallback locale
             */
            fallbackLocale?: string;
            /**
             * Represents terminologies with additional properties files
             */
            terminologies?: {
                [k: string]: TerminologySetting;
            };
            /**
             * Represents enhancement of UI5 resource bundle with additional properties files
             */
            enhanceWith?: EnhanceWithSetting3[];
        } | {
            /**
             * Represents the alternative for bundleUrl
             */
            bundleName: string;
            /**
             * Represents the fallback locale
             */
            fallbackLocale?: string;
            /**
             * Represents the list of supported locales
             */
            supportedLocales?: unknown[];
            /**
             * Represents terminologies with additional properties files
             */
            terminologies?: {
                [k: string]: TerminologySetting;
            };
            /**
             * Represents enhancement of UI5 resource bundle with additional properties files
             */
            enhanceWith?: EnhanceWithSetting4[];
        };
        /**
         * Flag whether the library contains a CSS file or not.
         */
        css?: boolean | string;
        /**
         * Represents the content of a library. Content are controls, elements, types and interfaces.
         */
        content?: {
            [k: string]: unknown;
        };
    };
    /**
     * Represents a list of UI5 shortcut commands
     */
    commands?: {
        [k: string]: Command;
    };
    /**
     * Represents an indicator whether app variant is flex extension point enabled
     */
    flexExtensionPointEnabled?: boolean;
    /**
     * Represents an indicator whether app is a cloud developer adaptation, filled automatically during build.
     */
    isCloudDevAdaptation?: boolean;
    [k: string]: unknown;
} & ({
    /**
     * Represents an Indicator whether an app is flex enabled
     */
    flexEnabled: true;
    routing?: RoutingFlexEnabled;
    rootView?: RootViewDefFlexEnabled;
    [k: string]: unknown;
} | {
    /**
     * Represents an Indicator whether an app is flex enabled
     */
    flexEnabled?: false;
    routing?: Routing;
    rootView?: RootViewDef;
    [k: string]: unknown;
});
/**
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "[\s\S]*".
 */
export type Config = Config[] | string | boolean | number | {
    [k: string]: unknown;
};
export type EnhanceWithSetting2 = {
    /**
     * Represents property url for model enhancement
     */
    bundleUrl: string;
    /**
     * Indicates whether url is relative to component (default) or manifest
     */
    bundleUrlRelativeTo?: "manifest" | "component";
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
} | {
    /**
     * Represents the alternative for bundleUrl
     */
    bundleName: string;
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
};
/**
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*$".
 */
export type ResourceRoot = string;
export type EnhanceWithSetting3 = {
    /**
     * Represents property url for model enhancement
     */
    bundleUrl: string;
    /**
     * Indicates whether url is relative to component (default) or manifest
     */
    bundleUrlRelativeTo?: "manifest" | "component";
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
} | {
    /**
     * Represents the alternative for bundleUrl
     */
    bundleName: string;
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
};
export type EnhanceWithSetting4 = {
    /**
     * Represents property url for model enhancement
     */
    bundleUrl: string;
    /**
     * Indicates whether url is relative to component (default) or manifest
     */
    bundleUrlRelativeTo?: "manifest" | "component";
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
} | {
    /**
     * Represents the alternative for bundleUrl
     */
    bundleName: string;
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: TerminologySetting;
    };
};
/**
 * Represents the definition of each route
 */
export type Route = RouteWithoutName & {
    /**
     * Represents the name of the route
     */
    name: string;
    [k: string]: unknown;
};
/**
 * Represents the root view definition being either the name of the view or the view definition object
 */
export type RootViewDef = string | {
    /**
     * Represents the name of the view
     */
    viewName: string;
    /**
     * Represents the type of the view. Possible Values: XML, JSON, JS, HTML, Template
     */
    type?: "XML" | "JSON" | "JS" | "HTML" | "Template";
    /**
     * Represents the id of the view
     */
    id?: string;
    /**
     * Configure the targets for asynchronous loading
     */
    async?: boolean;
    [k: string]: unknown;
};
/**
 *  Represents a binding string to indicate, how the reuse component should be bound relative to the containing page or absolute
 */
export type ComponentBindingDef = string;
/**
 * Represents the card default grid size in columns and rows
 */
export type DefaultSpanDef = {
    /**
     * Represents the number of the number of grid columns
     */
    cols: number;
    /**
     * Represents the number of the number of grid rows
     */
    rows: number;
    /**
     * Represents if user wants to show only header part of card in resizable layout
     */
    showOnlyHeader?: boolean;
    /**
     * If user wants to show more text in title then he/she can configure no of lines to be shown in title(Maximum allowed 3 lines)
     */
    minimumTitleRow?: number;
    /**
     * If user wants to show more text in title then he/she can configure no of lines to be shown in sub-title(Maximum allowed 2 lines)
     */
    minimumSubTitleRow?: number;
} | "auto";
/**
 * Plot area is a parent property which defines multiple other properties for smoothness and marker size
 */
export type LevelsDef = unknown[];
/**
 * Represents general card attributes
 */
export type JSONSchemaForSAPCARDNamespace = {
    [k: string]: unknown;
};
/**
 * The version number of the schema in major.minor.patch format.
 */
export type Semanticversion = string;
/**
 * Represents SBPA Custom Task UI Attributes
 */
export type JSONSchemaForSapBpaTaskNamespace = {
    [k: string]: unknown;
};
export interface SAPJSONSchemaForWebApplicationManifestFile {
    /**
     * The resource identifier for the JSON schema to be used. The value of this keyword MUST be a URI [RFC3986] (containing a scheme) and this URI MUST be normalized. The current schema MUST be valid against the meta-schema identified by this URI. If this URI identifies a retrievable resource, that resource SHOULD be of media type "application/schema+json".
     */
    $schema?: string;
    /**
     * Represents Application Descriptor format version. It is managed by schema owner
     */
    _version: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0" | "1.7.0" | "1.8.0" | "1.9.0" | "1.10.0" | "1.11.0" | "1.12.0" | "1.13.0" | "1.14.0" | "1.15.0" | "1.16.0" | "1.17.0" | "1.18.0" | "1.19.0" | "1.20.0" | "1.21.0" | "1.22.0" | "1.23.0" | "1.24.0" | "1.25.0" | "1.26.0" | "1.27.0" | "1.28.0" | "1.29.0" | "1.30.0" | "1.31.0" | "1.32.0" | "1.33.0" | "1.34.0" | "1.35.0" | "1.36.0" | "1.37.0" | "1.38.0" | "1.39.0" | "1.40.0" | "1.41.0" | "1.42.0" | "1.43.0" | "1.44.0" | "1.45.0" | "1.46.0" | "1.47.0" | "1.48.0" | "1.49.0" | "1.50.0" | "1.51.0" | "1.52.0" | "1.53.0" | "1.54.0" | "1.55.0" | "1.56.0" | "1.57.0" | "1.58.0" | "1.59.0" | "1.60.0";
    /**
     * Represents the URL that the developer would prefer the user agent load when the user launches the web application
     */
    start_url?: string;
    "sap.app": JSONSchemaForSAPAPPNamespace;
    "sap.ui": JSONSchemaForSAPUINamespace;
    "sap.ui5"?: JSONSchemaForSAPUI5Namespace;
    "sap.platform.abap"?: JSONSchemaForSAPPLATFORMABAPNamespace;
    "sap.platform.hcp"?: JSONSchemaForSAPPLATFORMHCPNamespace;
    "sap.platform.cf"?: JSONSchemaForSAPPLATFORMCFNamespace;
    "sap.platform.mobilecards"?: JSONSchemaForSAPPLATFORMMOBILECARDSNamespace;
    "sap.fiori"?: JSONSchemaForSAPFIORINamespace;
    "sap.ui.generic.app"?: JSONSchemaForSAPUIGENERICAPPNamespace;
    "sap.fe"?: JSONSchemaForSAPFENamespace;
    "sap.flp"?: JSONSchemaForSAPFLPNamespace;
    "sap.ovp"?: JSONSchemaForSAPOVPNamespace;
    "sap.insights"?: JSONSchemaForSAPInsightsNamespace;
    "sap.wda"?: JSONSchemaForSAPWDANamespace;
    "sap.apf"?: JSONSchemaForSAPAPFNamespace;
    "sap.cloud.portal"?: JSONSchemaForSAPCLOUDPORTALNamespace;
    "sap.gui"?: JSONSchemaForSAPGUINamespace;
    "sap.integration"?: JSONSchemaForSAPINTEGRATIONNamespace;
    "sap.wcf"?: JSONSchemaForSAPWCFNamespace;
    "sap.ui.smartbusiness.app"?: JSONSchemaForSAPUISMARTBUSINESSAPPNamespace;
    "sap.mobile"?: JSONSchemaForSAPMOBILENamespace;
    "sap.copilot"?: JSONSchemaForSAPCOPILOTNamespace;
    "sap.map"?: JSONSchemaForSAPMAPNamespace;
    "sap.url"?: JSONSchemaForSAPURLNamespace;
    "sap.platform.sfsf"?: JSONSchemaForSAPPLATFORMSFSFNamespace;
    "sap.cloud"?: JSONSchemaForSAPCLOUDNamespace;
    "sap.card"?: JSONSchemaForSAPCARDNamespace;
    "sap.package"?: JSONSchemaForSAPPACKAGENamespace;
    "sap.artifact"?: JSONSchemaForSAPARTIFACTNamespace;
    "sap.bpa.task"?: JSONSchemaForSapBpaTaskNamespace;
}
/**
 * Represents general application attributes
 */
export interface JSONSchemaForSAPAPPNamespace {
    /**
     * Application attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0" | "1.7.0" | "1.8.0" | "1.9.0" | "1.10.0" | "1.11.0" | "1.12.0" | "1.13.0" | "1.14.0" | "1.15.0" | "1.16.0" | "1.17.0" | "1.18.0" | "1.19.0" | "1.20.0";
    /**
     * Represents the template from which the app was generated
     */
    sourceTemplate?: {
        /**
         * Represents id of the template from which the app was generated
         */
        id: string;
        /**
         * Represents the version of the template from which the app was generated
         */
        version: string;
        /**
         * Represents an Id generated by SAP Fiori tools
         */
        toolsId?: string;
        [k: string]: unknown;
    };
    /**
     * Represents mandatory unique app identifier which must correspond to component 'id/namespace'
     */
    id: string;
    /**
     * Represents type of an application and can be application or component or library
     */
    type: "application" | "component" | "library" | "card";
    /**
     * Represents path inside the app to the properties file containing text symbols for the Descriptor or properties file specific settings (including supportedLocales, fallbackLocale, terminologies and enhanceWith)
     */
    i18n?: string | {
        /**
         * Represents the alternative for bundleUrl
         */
        bundleName: string;
        /**
         * Represents the fallback locale
         */
        fallbackLocale?: string;
        /**
         * Represents the list of supported locales
         */
        supportedLocales?: unknown[];
        /**
         * Represents terminologies with additional properties files
         */
        terminologies?: {
            [k: string]: TerminologySetting;
        };
        /**
         * Represents enhancement of UI5 resource model with additional properties files
         */
        enhanceWith?: EnhanceWithSetting[];
    } | {
        /**
         * Represents the URL for the resource bundle
         */
        bundleUrl: string;
        /**
         * Indicates whether url is relative to component (default) or manifest
         */
        bundleUrlRelativeTo?: "manifest" | "component";
        /**
         * Represents the list of supported locales
         */
        supportedLocales?: unknown[];
        /**
         * Represents the fallback locale
         */
        fallbackLocale?: string;
        /**
         * Represents terminologies with additional properties files
         */
        terminologies?: {
            [k: string]: TerminologySetting;
        };
        /**
         * Represents enhancement of UI5 resource model with additional properties files
         */
        enhanceWith?: EnhanceWithSetting1[];
    };
    /**
     * Represents mandatory version of the app
     */
    applicationVersion: {
        version: Version;
        [k: string]: unknown;
    };
    /**
     * Represents array of relative paths to the nested manifest.json's (mandatory if it contains nested 'manifest.json')
     */
    embeds?: string[];
    /**
     * Represents relative path back to the manifest.json of an embedding component or library (mandatory for nested 'manifest.json')
     */
    embeddedBy?: string;
    /**
     * Represents a title (mandatory); to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    title: string;
    /**
     * Represents a subtitle to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    subTitle?: string;
    /**
     * Represents a shorter version of the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    shortTitle?: string;
    /**
     * Represents additional information to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    info?: string;
    /**
     * Represents a description; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    description?: string;
    /**
     * Represents array of keywords
     */
    tags?: {
        keywords: Tag;
        technicalAttributes?: string[];
        [k: string]: unknown;
    };
    /**
     * Represents application component hierarchy
     */
    ach?: string;
    /**
     * Represents used data sources with a unique key/alias
     */
    dataSources?: {
        [k: string]: DataSource;
    };
    /**
     * Represents array of directly used CDS views, which only to be added if directly used via INA protocol and not if used via OData service
     */
    cdsViews?: string[];
    /**
     * Represents reference to a file (naming convention is resources.json) which contains list with all resources which the app needs
     */
    resources?: "resources.json";
    /**
     * Represents a system alias
     */
    destination?: {
        /**
         * Represents an alias for the system
         */
        name: string;
    };
    /**
     * Represents a collection of directly used open source libs (not when used via UI5 capsulation)
     */
    openSourceComponents?: OpenSource[];
    /**
     * Represents the name of the provider which owns the application
     */
    provider?: "sfsf";
    /**
     * Represents indicator whether the app is running offline. Possible values are true or false (default)
     */
    offline?: boolean;
    /**
     * Represents cross navigation for inbound and outbound targets
     */
    crossNavigation?: {
        /**
         * Represents scopes of a site
         */
        scopes?: {
            /**
             * Represents unique id of the site
             *
             * This interface was referenced by `undefined`'s JSON-Schema definition
             * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+$".
             */
            [k: string]: {
                value: string;
                [k: string]: unknown;
            };
        };
        inbounds: Inbound;
        outbounds?: Outbound;
        [k: string]: unknown;
    };
}
export interface DataSourceEnum {
    /**
     * Represents uri of the data source
     */
    uri: string;
    /**
     * Represents type of the data source. The supported types are OData, ODataAnnotation, INA, XML, JSON, FHIR, WebSocket, http
     */
    type?: "OData" | "ODataAnnotation" | "INA" | "XML" | "JSON" | "FHIR" | "WebSocket" | "http";
    settings?: Setting;
    customType?: false;
}
/**
 * Represents data source type specific attributes (key, value pairs)
 */
export interface Setting {
    /**
     * Represents version of OData: 2.0 is default
     */
    odataVersion?: "2.0" | "4.0";
    /**
     * Represents path to local meta data document or annotation uri
     */
    localUri?: string;
    /**
     * Represents  array of annotation which references an existing data source of type ODataAnnotation
     */
    annotations?: string[];
    /**
     * Indicates that the client is unwilling to accept a response whose age is greater than the number of seconds specified in this field
     */
    maxAge?: number;
    /**
     * Dictionary of (catalog) objects offered by the datasource
     */
    objects?: {
        /**
         * A (catalog) object of an InA DataSource
         */
        [k: string]: {
            objectName: ObjectName;
            objectType: ObjectType;
            packageName?: string;
            schemaName?: string;
        };
    };
    /**
     * Indicates whether annotations from metadata should be ignored
     */
    ignoreAnnotationsFromMetadata?: boolean;
    [k: string]: unknown;
}
export interface DataSourceCustom {
    /**
     * Represents the uri of the data source, should always be given in lower case
     */
    uri: string;
    /**
     * Represents type of the data source. The supported types are OData, ODataAnnotation, INA, XML, JSON, FHIR, WebSocket, http
     */
    type?: string;
    settings?: Setting1;
    /**
     * Represents a custom data source type flag. So the type can be any string if its true, and only enum values if false
     */
    customType: true;
}
/**
 * Represents data source type specific attributes (key, value pairs)
 */
export interface Setting1 {
    /**
     * Represents version of OData: 2.0 is default
     */
    odataVersion?: "2.0" | "4.0";
    /**
     * Represents path to local meta data document or annotation uri
     */
    localUri?: string;
    /**
     * Represents  array of annotation which references an existing data source of type ODataAnnotation
     */
    annotations?: string[];
    /**
     * Indicates that the client is unwilling to accept a response whose age is greater than the number of seconds specified in this field
     */
    maxAge?: number;
    /**
     * Dictionary of (catalog) objects offered by the datasource
     */
    objects?: {
        /**
         * A (catalog) object of an InA DataSource
         */
        [k: string]: {
            objectName: ObjectName;
            objectType: ObjectType;
            packageName?: string;
            schemaName?: string;
        };
    };
    /**
     * Indicates whether annotations from metadata should be ignored
     */
    ignoreAnnotationsFromMetadata?: boolean;
    [k: string]: unknown;
}
export interface OpenSource {
    /**
     * Represents a name of the open source as appears on the web
     */
    name: string;
    /**
     * Represents a version of the open source (if part of app, version must be specified, if part of UI5 dist layer, version is empty)
     */
    version?: string;
    /**
     * Indicates, whether it is part of the app or not
     */
    packagedWithMySelf?: boolean;
}
/**
 * Represents cross navigation for inbound target
 */
export interface Inbound {
    /**
     * This interface was referenced by `Inbound`'s JSON-Schema definition
     * via the `patternProperty` "^[\w\.\-]+$".
     */
    [k: string]: {
        /**
         * Represents semantic object
         */
        semanticObject: string;
        /**
         * Represents action an the semantic object
         */
        action: string;
        /**
         * Indicates to not expose this inbound as a tile or link
         */
        hideLauncher?: boolean;
        /**
         * Represents icon
         */
        icon?: string;
        /**
         * Represents a title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
         */
        title?: string;
        /**
         * Represents a subtitle; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
         */
        subTitle?: string;
        /**
         * Represents a shorter version of the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
         */
        shortTitle?: string;
        /**
         * Represents additional information to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
         */
        info?: string;
        /**
         * Represents the display mode of the tile
         */
        displayMode?: "ContentMode" | "HeaderMode";
        /**
         * Represents data source
         */
        indicatorDataSource?: {
            dataSource: string;
            path: string;
            /**
             * Represents refresh interval
             */
            refresh?: number;
            [k: string]: unknown;
        };
        deviceTypes?: DeviceType;
        signature?: SignatureDef;
    };
}
/**
 * Represents device types for which application is developed
 */
export interface DeviceType {
    /**
     * Represents indicator whether desktop device is supported
     */
    desktop?: boolean;
    /**
     * Represents indicator whether tablet device is supported
     */
    tablet?: boolean;
    /**
     * Represents indicator whether phone device is supported
     */
    phone?: boolean;
}
/**
 * Represents signature for inbound targets
 */
export interface SignatureDef {
    parameters: {
        /**
         * This interface was referenced by `undefined`'s JSON-Schema definition
         * via the `patternProperty` "^[\w\.\-\/]+$".
         */
        [k: string]: {
            /**
             *  Represents a default Value
             */
            defaultValue?: {
                format?: "plain";
                value?: string;
                [k: string]: unknown;
            } | {
                format?: "reference";
                value?: string;
                [k: string]: unknown;
            } | {
                format?: null;
                value?: string;
                [k: string]: unknown;
            };
            /**
             * Represents a filter , only if input parameter matches filter
             */
            filter?: {
                /**
                 * Represents a depending on format either a verbatim filter value, a regular expression or a reference
                 */
                value: string;
                /**
                 * Indicates how 'value' is to be interpreted: ('plain': the actual value must match the 'value' property directly| 'regexp': the 'value' represents a regexp which must be present in the actual value| 'reference' : the 'value' represents a reference to e.g. a UserDefault parameter (e.g. 'UserDefault.CostCenter'), the resolved parameter value is then directly compared with the actual value)
                 */
                format?: "plain" | "regexp" | "reference";
            };
            /**
             *  Represents a value to be used when creating a tile intent for this inbound
             */
            launcherValue?: {
                value?: string | string[];
                /**
                 * Indicates how 'value' is to be interpreted: 'plain': the 'value' is taken as a literal string value | 'array': the 'value' is an array of strings
                 */
                format?: "plain" | "array";
                /**
                 * DEPRECATED - Indicates the administrator should be prompted to supply a value when creating a tile
                 */
                prompt?: boolean;
            };
            required?: boolean;
            /**
             * Represents the parameter name in legacy ABAP application, e.g. 'RF05L-BUKRS' for parameter 'CompanyCode'
             */
            renameTo?: string;
        };
    };
    /**
     * Indicates how additional parameters to the declared signature are treated: ('ignored': parameters are not passed on to application | 'allowed': parameters are passed on to application | 'notallowed': additional parameters are not allowed)
     */
    additionalParameters: "ignored" | "allowed" | "notallowed";
}
/**
 * Describes intents that can be triggered from the application to navigate
 */
export interface Outbound {
    /**
     * This interface was referenced by `Outbound`'s JSON-Schema definition
     * via the `patternProperty` "^[\w\.\-]+$".
     */
    [k: string]: {
        /**
         * Represents a business entity (e.g., 'Employee')
         */
        semanticObject: string;
        /**
         * Represents the action to perform on the business entity (e.g., 'display')
         */
        action: string;
        /**
         * Indicates whether the intent can contain additional context parameters that are not described in the outbound: ('notallowed': the intent must contain only the specified parameters | 'allowed': additional parameters might appear in the navigation intent)| 'ignored': technical meta-parameters for framework usage are added to the intent, these parameters should be ignored by target applications
         */
        additionalParameters?: "notallowed" | "ignored" | "allowed";
        /**
         * Represents parameters of navigation intents
         */
        parameters?: {
            /**
             * This interface was referenced by `undefined`'s JSON-Schema definition
             * via the `patternProperty` "^[\w\.\-\/]+$".
             */
            [k: string]: {
                /**
                 * Describes parameters of navigation intents generated or triggered by the application
                 */
                value?: {
                    /**
                     * Represents a verbatim value (when 'plain' format is used), a pattern (when 'regexp' format is used), a value coming from a UI5 model (when 'binding' format is used), or a User Default reference (when 'reference' format is used)
                     */
                    value?: string;
                    /**
                     * Indicates how 'value' is to be interpreted: 'plain': the 'value' is taken as a literal string value | 'reference': the 'value' is a reference to a parameter maintained in the Fiori Launchpad (e.g. 'UserDefault.CostCenter'); the parameter value is used on the outbound intent parameter| 'regexp': the 'value' matches the specified pattern| 'binding': the 'value' is a binding path; the value from the model at the specified binding path will be used on the outbound intent parameter
                     */
                    format?: "plain" | "regexp" | "reference" | "binding";
                };
                required?: boolean;
            };
        };
    };
}
/**
 * Represents general ui attributes
 */
export interface JSONSchemaForSAPUINamespace {
    /**
     * Represents UI attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0";
    /**
     * Represents UI technology. The possible values are UI5 (default), WDA, NWBC, GUI, URL and WCF
     */
    technology: "UI5" | "WDA" | "NWBC" | "GUI" | "URL" | "WCF";
    /**
     * Represents icons which used in application
     */
    icons?: {
        /**
         * Represents icon of the app
         */
        icon?: string;
        /**
         * Represents ICO file to be used inside the browser and for desktop shortcuts
         */
        favIcon?: string;
        /**
         * Represents 57x57 pixel version for non-retina iPhones
         */
        phone?: string;
        /**
         * Represents 114x114 pixel version for non-retina iPhones
         */
        "phone@2"?: string;
        /**
         * Represents 72x72 pixel version for non-retina iPads
         */
        tablet?: string;
        /**
         * Represents 144x144 pixel version for non-retina iPads
         */
        "tablet@2"?: string;
    };
    /**
     * Represents device types on which application is running. Supported device types are desktop, tablet and phone
     */
    deviceTypes: DeviceType1 & {
        [k: string]: unknown;
    };
    /**
     * The property is Deprecated. Represents array of supported SAP themes such as sap_hcb, sap_bluecrystal
     */
    supportedThemes?: string[];
    /**
     * Indicates whether app should run in full screen mode: possible values: true or false
     */
    fullWidth?: boolean;
    [k: string]: unknown;
}
/**
 * Represents device types on which the app is running
 */
export interface DeviceType1 {
    /**
     * Represents indicator whether desktop device is supported
     */
    desktop?: boolean;
    /**
     * Represents indicator whether tablet device is supported
     */
    tablet?: boolean;
    /**
     * Represents indicator whether phone device is supported
     */
    phone?: boolean;
}
/**
 * Represents paths to JavaScript/CSS resources that your app needs (app internal), formerly called '.includes'
 */
export interface Resource {
    js?: {
        uri: string;
        [k: string]: unknown;
    }[];
    css?: {
        uri: string;
        id?: string;
        [k: string]: unknown;
    }[];
    [k: string]: unknown;
}
/**
 * Represents component name for usage
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.]*$".
 */
export interface ComponentUsages {
    /**
     * Represents name of reuse component
     */
    name: string;
    /**
     * Represents component data for the Component
     */
    componentData?: Config[] | string | boolean | number | {
        [k: string]: unknown;
    };
    /**
     * Represents settings for the Component
     */
    settings?: Config[] | string | boolean | number | {
        [k: string]: unknown;
    };
    /**
     * Represents Indicator to lazy loading component usage, default true
     */
    lazy?: boolean;
}
/**
 * Represents sapui5 library name
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^([a-z][a-z0-9]{0,39})(\.[a-z][a-z0-9]{0,39})*$".
 */
export interface Lib {
    /**
     * Represents minimal version of ui5 library
     */
    minVersion?: string;
    /**
     * Represents Indicator to lazy loading lib
     */
    lazy?: boolean;
    [k: string]: unknown;
}
/**
 * Represents sapui5 component name
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^([a-zA-Z_$][a-zA-Z0-9_$]{0,39}\.)*([a-zA-Z_$][a-zA-Z0-9_$]{0,39})$".
 */
export interface Component {
    /**
     * Represents minimal version of ui5 component
     */
    minVersion?: string;
    /**
     * Represents Indicator to lazy loading component
     */
    lazy?: boolean;
    [k: string]: unknown;
}
/**
 * Represents sapui5 model name
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-\|@]*$".
 */
export interface Model {
    /**
     * Represents model class name
     */
    type?: string;
    /**
     * Represents string of key/alias from sap.app dataSources to reference an existing data source
     */
    dataSource?: string;
    /**
     * Represents URI for the model
     */
    uri?: string;
    /**
     * Indicates that the model will be immediately created after the manifest is loaded by Component Factory and before the Component instance is created
     */
    preload?: boolean;
    settings?: Ui5Setting;
}
export interface Ui5Setting {
    /**
     * Represents default binding mode and must be a string value from sap.ui.model.BindingMode. Possible values: Default, OneTime, OneWay, TwoWay
     */
    defaultBindingMode?: "Default" | "OneTime" | "OneWay" | "TwoWay";
    /**
     * Represents the alternative for bundleUrl
     */
    bundleName?: string;
    /**
     * Represents the URL for the resource bundle
     */
    bundleUrl?: string;
    /**
     * Indicates whether url is relative to component (default) or manifest
     */
    bundleUrlRelativeTo?: "manifest" | "component";
    /**
     * Represents the fallback locale
     */
    fallbackLocale?: string;
    /**
     * Represents the list of supported locales
     */
    supportedLocales?: unknown[];
    /**
     * Represents terminologies with additional properties files
     */
    terminologies?: {
        [k: string]: unknown;
    };
    /**
     * Represents enhancement of UI5 resource model with additional properties files
     */
    enhanceWith?: EnhanceWithSetting2[];
    [k: string]: unknown;
}
/**
 * Represents the definition of each service
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "[\s\S]*".
 */
export interface Service {
    /**
     * Represents the name of the service factory
     */
    factoryName: string;
    /**
     * Indicates whether the service optional or not
     */
    optional?: boolean;
    [k: string]: unknown;
}
/**
 * Represents a UI5 shortcut command.
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[A-Za-z_][A-Za-z0-9_\-\|@]+$".
 */
export interface Command {
    /**
     * A string describing a shortcut key combination that, when used by the user, will trigger the command.
     */
    shortcut?: string;
}
/**
 * Represents the configuration of routing
 */
export interface RoutingFlexEnabled {
    /**
     * Represents the default properties defined for route and target
     */
    config?: {
        /**
         * Represents the router class
         */
        routerClass?: string;
        /**
         * Indicates whether the Views in routing are loaded asyncly
         */
        async?: boolean;
        /**
         * Represents information about targets to display when no route is matched
         */
        bypassed?: {
            /**
             * Represents one or multiple names of targets that are displayed when no route is matched
             */
            target: [] | [string | RouteTargetObject] | string | RouteTargetObject;
        };
        /**
         * Represents a prefix that is prepended in front of the viewName
         */
        viewPath?: string;
        [k: string]: unknown;
    } & Target;
    routes?: Route[] | {
        [k: string]: RouteWithoutName;
    };
    /**
     * Represents the definition of targets
     */
    targets?: {
        /**
         * This interface was referenced by `undefined`'s JSON-Schema definition
         * via the `patternProperty` "[\s\S]*".
         */
        [k: string]: (Target & {
            /**
             * Represents the name of a view that will be created
             */
            viewName: string;
            /**
             * Represents the id of the created view
             */
            viewId: string;
            /**
             * Represents a prefix that is prepended in front of the viewName
             */
            viewPath?: string;
            [k: string]: unknown;
        }) | (Target & ({
            /**
             * Represents the name of a view or component that will be created
             */
            name: string;
            /**
             * Represents the id of the created view or component
             */
            id: string;
            /**
             * Represents a prefix that is prepended in front of the view or component name
             */
            path?: string;
            /**
             * Represents the type of the type View or Component
             */
            type?: "View" | "Component";
            [k: string]: unknown;
        } | {
            /**
             * Represents the componentUsage of the component that will be created
             */
            usage: string;
            /**
             * Represents the id of the created view or component
             */
            id: string;
            /**
             * Represents the type of the type Component
             */
            type: "Component";
            [k: string]: unknown;
        }));
    };
    [k: string]: unknown;
}
/**
 * Represents the definition of a target of a route as object.
 */
export interface RouteTargetObject {
    /**
     * Represents the name of the routing target
     */
    name?: string;
    /**
     * The prefix of the routing target
     */
    prefix?: string;
    /**
     * Indicates whether this 'Component' target should propagate it's title to this component or not
     */
    propagateTitle?: boolean & string;
    [k: string]: unknown;
}
/**
 * Represents the definition of each target
 */
export interface Target {
    /**
     * Represents the information which is included as a parameter of the 'titleChanged' event fired on Router when this target is displayed. The title can be set with static text and can also be set with a valid property binding syntax which will be resolved under the scope of the view in the target where the title property is defined.
     */
    title?: string;
    /**
     * Represents the type of view that is going to be created
     */
    viewType?: "XML" | "JSON" | "JS" | "HTML" | "Template";
    /**
     * Represents the id of the view that contains the control specified by the 'controlId'
     */
    targetParent?: string;
    /**
     * Represents the id of the control where you want to place the view created by the target
     */
    controlId?: string;
    /**
     * Represents the name of an aggregation of the controlId that contains the views
     */
    controlAggregation?: string;
    /**
     * Whether the aggregation of the control should be cleared before adding the view
     */
    clearControlAggregation?: boolean;
    /**
     * Represents the name of another target which will also be displayed once this target is displayed
     */
    parent?: string;
    /**
     * Represents the level of the current view which is used to define the transition direction when navigate to this view
     */
    viewLevel?: number;
    /**
     * Represents the type of transition when navigating from previous view to this view
     */
    transition?: string | ("slide" | "flip" | "fade" | "show");
    /**
     * Represents the transition parameters that are passed to the event handlers
     */
    transitionParameters?: {
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
/**
 * Represents the definition of route without the option 'name'. This is used when routes are defined in an object.
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "[\s\S]*".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "[\s\S]*".
 */
export interface RouteWithoutName {
    /**
     * Represents the url pattern that the route is matched against
     */
    pattern?: string;
    /**
     * Whether the route should be matched when another route is already matched
     */
    greedy?: boolean;
    /**
     * Represents one or multiple names of targets which are displayed when the route is matched
     */
    target?: [] | [string | RouteTargetObject] | string | RouteTargetObject;
    /**
     * Represents the name of the target where the 'title' information should be taken
     */
    titleTarget?: string;
    [k: string]: unknown;
}
/**
 * Represents the root view definition when flex is enabled (requires a view id)
 */
export interface RootViewDefFlexEnabled {
    /**
     * Represents the name of the view
     */
    viewName: string;
    /**
     * Represents the type of the view. Possible Values: XML, JSON, JS, HTML, Template
     */
    type?: "XML" | "JSON" | "JS" | "HTML" | "Template";
    /**
     * Represents the id of the view
     */
    id: string;
    /**
     * Configure the targets for asynchronous loading
     */
    async?: boolean;
    [k: string]: unknown;
}
/**
 * Represents the configuration of routing
 */
export interface Routing {
    /**
     * Represents the default properties defined for route and target
     */
    config?: {
        /**
         * Represents the router class
         */
        routerClass?: string;
        /**
         * Indicates whether the Views in routing are loaded asyncly
         */
        async?: boolean;
        /**
         * Indicates whether the targets which have type 'Component' should propagate their title to this component or not
         */
        propagateTitle?: boolean;
        /**
         * Represents information about targets to display when no route is matched
         */
        bypassed?: {
            /**
             * Represents one or multiple names of targets that are displayed when no route is matched
             */
            target: [] | [string | RouteTargetObject] | string | RouteTargetObject;
        };
        /**
         * Represents a prefix that is prepended in front of the viewName
         */
        viewPath?: string;
        [k: string]: unknown;
    } & Target;
    routes?: Route[] | {
        [k: string]: RouteWithoutName;
    };
    /**
     * Represents the definition of targets
     */
    targets?: {
        /**
         * This interface was referenced by `undefined`'s JSON-Schema definition
         * via the `patternProperty` "[\s\S]*".
         */
        [k: string]: (Target & {
            /**
             * Represents the name of a view that will be created
             */
            viewName: string;
            /**
             * Represents the id of the created view
             */
            viewId?: string;
            /**
             * Represents a prefix that is prepended in front of the viewName
             */
            viewPath?: string;
            [k: string]: unknown;
        }) | (Target & ({
            /**
             * Represents the name of a view or component that will be created
             */
            name: string;
            /**
             * Represents the id of the created view or component
             */
            id?: string;
            /**
             * Represents a prefix that is prepended in front of the view or component name
             */
            path?: string;
            /**
             * Represents the type of the type View or Component
             */
            type?: "View" | "Component";
            [k: string]: unknown;
        } | {
            /**
             * Represents the componentUsage of the component that will be created
             */
            usage: string;
            /**
             * Represents the id of the created view or component
             */
            id?: string;
            /**
             * Represents the type of the type Component
             */
            type: "Component";
            [k: string]: unknown;
        }));
    };
    [k: string]: unknown;
}
/**
 * Represents ABAP platform specific attributes
 */
export interface JSONSchemaForSAPPLATFORMABAPNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0";
    /**
     * Represents the uri of the app in the ABAP system
     */
    uri?: string;
    /**
     * Represents the alternative uri of the app in the ABAP system for starting the application
     */
    uriNwbc?: string;
}
/**
 * Represents HANA Cloud Platform platform specific attributes
 */
export interface JSONSchemaForSAPPLATFORMHCPNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0" | "1.3.0";
    /**
     * Represents the uri of the app in the HANA Cloud Platform
     */
    uri?: string;
    /**
     * Represents the alternative uri of the app in the ABAP system for starting the application
     */
    uriNwbc?: string;
    /**
     * Represents the provider account of the HTML5 application
     */
    providerAccount?: string;
    /**
     * Represents the HTML5 application name
     */
    appName?: string;
    /**
     * Represents the version of the HTML5 application
     */
    appVersion?: string;
    /**
     * Indicates that HCP application is multi-version enabled
     */
    multiVersionApp?: boolean;
}
/**
 * Represents CF(Cloud Foundry) platform specific attributes
 */
export interface JSONSchemaForSAPPLATFORMCFNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0";
    /**
     * Represents the authorization scope of the application
     */
    oAuthScopes?: string[];
    [k: string]: unknown;
}
/**
 * Represents Mobile Cards platform specific attributes
 */
export interface JSONSchemaForSAPPLATFORMMOBILECARDSNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0";
    /**
     * Represents the compatibility of this app with the Mobile Cards platform.
     */
    compatible?: boolean;
    [k: string]: unknown;
}
/**
 * Represents SAP Fiori  specific attributes
 */
export interface JSONSchemaForSAPFIORINamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0" | "1.3.0";
    /**
     * Represents array of registration ids, i.e. for Fiori apps fiori id(s)
     */
    registrationIds: string[];
    /**
     * Represents architecture type of an application. The supported types are transactional or analytical or factsheet or reusecomponent or fpmwebdynpro or designstudio
     */
    archeType: "transactional" | "analytical" | "factsheet" | "reusecomponent" | "fpmwebdynpro" | "designstudio";
    /**
     * Indicator that app is an abstract (generic) app which may not be used directly, but needs to be specialized in the SAP Fiori launchpad content
     */
    abstract?: boolean;
    /**
     * Represents the release status for the developer adaptation in the cloud (relevant for SAP internal only). The supported types are released, deprecated, obsolete, no value means not released
     */
    cloudDevAdaptationStatus?: "released" | "deprecated" | "obsolete";
}
/**
 * Represents GENERIC APP specific attributes
 */
export interface JSONSchemaForSAPUIGENERICAPPNamespace {
    _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0";
    settings?: SettingDef;
    /**
     * Represents one ore more pages of an application. UI5 routing is created from the definitions in this section
     */
    pages?: PagesArray[] | {
        [k: string]: PagesMap;
    };
}
/**
 * Represents global settings for the application controller
 */
export interface SettingDef {
    [k: string]: unknown;
}
export interface PagesArray {
    /**
     * Represents the navigation property that leads to this page. The navigation links of the previous page (the page that calls this one) are determined through this property
     */
    navigationProperty?: string;
    /**
     * Represents the entity set that defines either the aggregation or the root object of the component
     */
    entitySet?: string;
    component: ComponentDef;
    navigation?: NavigationDef;
    embeddedComponents?: EmbeddedComponent;
    routingSpec?: RoutingSpecDef;
    /**
     * Represents the component to be loaded inside the canvas if sap.suite.ui.generic.template.Canvas is used as component name, and its settings
     */
    implementingComponent?: {
        /**
         * Represents the name of the component to be loaded inside the canvas
         */
        componentName: string;
        binding?: ComponentBindingDef;
        settings?: ComponentSettingDef;
        pages?: ComponentPagesDef;
    } | {
        /**
         * Represents the reference to the name of the componentUsages defined in sap.ui5/componentUsages for the component to be loaded inside the canvas
         */
        componentUsage: string;
        binding?: ComponentBindingDef;
        settings?: ComponentSettingDef;
        pages?: ComponentPagesDef;
    };
    /**
     * Default layout used to open the corresponding page in FlexibleColumnLayout
     */
    defaultLayoutType?: string;
    /**
     * Default layout used to open the corresponding page in FlexibleColumnLayout when reached via external navigation
     */
    defaultLayoutTypeIfExternalNavigation?: string;
    pages?: PagesArray[];
}
/**
 * Represents the component and its settings that makes the page
 */
export interface ComponentDef {
    /**
     * The name of the component
     */
    name: string;
    /**
     * Switch to create a route for a list (aggregation) if true and routing for an entity if not set or false
     */
    list?: boolean;
    settings?: ComponentSettingDef;
}
/**
 * Represents the settings specific to one component
 */
export interface ComponentSettingDef {
    [k: string]: unknown;
}
/**
 * Represents the different navigation targets
 */
export interface NavigationDef {
    display?: ActionPropDef;
    create?: ActionPropDef1;
    edit?: ActionPropDef2;
}
/**
 * Represents an action triggered by the user on UI: the navigation to display an object
 */
export interface ActionPropDef {
    /**
     * Represents the path in the manifest to the target to which the navigation is bound
     */
    path: string;
    /**
     * Represents the pointer to a semantic object
     */
    target: string;
    refreshStrategyOnAppRestore?: RefreshStrategiesPropDef;
}
/**
 * Represents the refresh strategies configured for external display navigation while coming back to the source app
 */
export interface RefreshStrategiesPropDef {
    /**
     * Represents the map of entity sets configured for refresh strategies
     */
    entitySets?: {
        [k: string]: unknown;
    };
}
/**
 * Represents an action triggered by the user on UI: the navigation to create an object
 */
export interface ActionPropDef1 {
    /**
     * Represents the path in the manifest to the target to which the navigation is bound
     */
    path: string;
    /**
     * Represents the pointer to a semantic object
     */
    target: string;
    refreshStrategyOnAppRestore?: RefreshStrategiesPropDef;
}
/**
 * Represents an action triggered by the user on UI: the navigation to edit an object
 */
export interface ActionPropDef2 {
    /**
     * Represents the path in the manifest to the target to which the navigation is bound
     */
    path: string;
    /**
     * Represents the pointer to a semantic object
     */
    target: string;
    refreshStrategyOnAppRestore?: RefreshStrategiesPropDef;
}
/**
 * Represent reuse components that should be appended at the end of the template component
 */
export interface EmbeddedComponent {
    /**
     * This interface was referenced by `EmbeddedComponent`'s JSON-Schema definition
     * via the `patternProperty` "^[a-zA-Z0-9_.:-]+$".
     *
     * This interface was referenced by `EmbeddedComponent2`'s JSON-Schema definition
     * via the `patternProperty` "^[a-zA-Z0-9_.:-]+$".
     */
    [k: string]: {
        /**
         * Represents an unique id for the instance of the reuse component inside of the object page
         */
        id: string;
        /**
         * Represents the title for the content of the reuse component
         */
        title: string;
        /**
         * Represents an optional element binding  for the ComponentContainer that hosts the reuse component
         */
        binding?: string;
        /**
         * Represents a map to populate the API of the reuse component
         */
        settings?: {
            [k: string]: unknown;
        };
        /**
         * Flag, whether the embedded component should be hidden by default
         */
        hiddenByDefault?: {
            [k: string]: unknown;
        };
        /**
         * Represents group title of reuse components
         */
        groupTitle?: string;
        /**
         * Represents a section that behaves a leading section for the group
         */
        leadingSectionIdOrPath?: string;
        [k: string]: unknown;
    } & ({
        /**
         * Represents the name of the reuse component
         */
        componentName: string;
        [k: string]: unknown;
    } | {
        /**
         * Represents the reference to the name of the componentUsages defined in sap.ui5/componentUsages
         */
        componentUsage: string;
        [k: string]: unknown;
    } | {
        embeddedComponents: EmbeddedComponent1;
        [k: string]: unknown;
    });
}
export interface EmbeddedComponent1 {
    /**
     * This interface was referenced by `EmbeddedComponent`'s JSON-Schema definition
     * via the `patternProperty` "^[a-zA-Z0-9_.:-]+$".
     *
     * This interface was referenced by `EmbeddedComponent2`'s JSON-Schema definition
     * via the `patternProperty` "^[a-zA-Z0-9_.:-]+$".
     */
    [k: string]: {
        /**
         * Represents an unique id for the instance of the reuse component inside of the object page
         */
        id: string;
        /**
         * Represents the title for the content of the reuse component
         */
        title: string;
        /**
         * Represents an optional element binding  for the ComponentContainer that hosts the reuse component
         */
        binding?: string;
        /**
         * Represents a map to populate the API of the reuse component
         */
        settings?: {
            [k: string]: unknown;
        };
        /**
         * Flag, whether the embedded component should be hidden by default
         */
        hiddenByDefault?: {
            [k: string]: unknown;
        };
        /**
         * Represents group title of reuse components
         */
        groupTitle?: string;
        /**
         * Represents a section that behaves a leading section for the group
         */
        leadingSectionIdOrPath?: string;
        [k: string]: unknown;
    } & ({
        /**
         * Represents the name of the reuse component
         */
        componentName: string;
        [k: string]: unknown;
    } | {
        /**
         * Represents the reference to the name of the componentUsages defined in sap.ui5/componentUsages
         */
        componentUsage: string;
        [k: string]: unknown;
    } | {
        embeddedComponents: EmbeddedComponent1;
        [k: string]: unknown;
    });
}
/**
 * Represents the routing specification
 */
export interface RoutingSpecDef {
    /**
     * Represents the name of the route
     */
    routeName: string;
    /**
     * Represents the switch to indicate, that this route is not related to the OData service
     */
    noOData?: boolean;
    /**
     * Represents the binding string to indicate, how the page should be bound relative to the predecessor page or absolute
     */
    binding?: string;
    /**
     * Represents the the title to be shown on the page
     */
    headerTitle?: string;
    /**
     * Represents the URL pointing to an icon, that will be shown in the navigation menu additional to the title to represent the page
     */
    typeImageUrl?: string;
    /**
     * Represents the switch to indicate, whether this route is reached via a 1:1 navigation or a 1:n navigation
     */
    noKey?: boolean;
    /**
     * Name of a semantic key field which can be used to identify an instance of this page. Only relevant if nKey is false.
     */
    semanticKey?: string;
}
export interface ComponentPagesDef {
    [k: string]: PagesMap;
}
/**
 * This interface was referenced by `ComponentPagesDef`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+[\|]?[a-zA-Z0-9_\.\-]+$".
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+[\|]?[a-zA-Z0-9_\.\-]+$".
 */
export interface PagesMap {
    /**
     * Represents the navigation property that leads to this page. The navigation links of the previous page (the page that calls this one) are determined through this property
     */
    navigationProperty?: string;
    /**
     * Represents the entity set that defines either the aggregation or the root object of the component
     */
    entitySet?: string;
    component: ComponentDef1;
    navigation?: NavigationDef1;
    embeddedComponents?: EmbeddedComponent2;
    routingSpec?: RoutingSpecDef1;
    /**
     * Represents the component to be loaded inside the canvas if sap.suite.ui.generic.template.Canvas is used as component name, and its settings
     */
    implementingComponent?: {
        /**
         * Represents the name of the component to be loaded inside the canvas
         */
        componentName: string;
        binding?: ComponentBindingDef;
        settings?: ComponentSettingDef;
        pages?: ComponentPagesDef;
    } | {
        /**
         * Represents the reference to the name of the componentUsages defined in sap.ui5/componentUsages for the component to be loaded inside the canvas
         */
        componentUsage: string;
        binding?: ComponentBindingDef;
        settings?: ComponentSettingDef;
        pages?: ComponentPagesDef;
    };
    /**
     * Default layout used to open the corresponding page in FlexibleColumnLayout
     */
    defaultLayoutType?: string;
    /**
     * Default layout used to open the corresponding page in FlexibleColumnLayout when reached via external navigation
     */
    defaultLayoutTypeIfExternalNavigation?: string;
    pages?: {
        [k: string]: PagesMap;
    };
}
/**
 * Represents the component and its settings that makes the page
 */
export interface ComponentDef1 {
    /**
     * The name of the component
     */
    name: string;
    /**
     * Switch to create a route for a list (aggregation) if true and routing for an entity if not set or false
     */
    list?: boolean;
    settings?: ComponentSettingDef;
}
/**
 * Represents the different navigation targets
 */
export interface NavigationDef1 {
    display?: ActionPropDef;
    create?: ActionPropDef1;
    edit?: ActionPropDef2;
}
/**
 * Represent reuse components that should be appended at the end of the template component
 */
export interface EmbeddedComponent2 {
    /**
     * This interface was referenced by `EmbeddedComponent`'s JSON-Schema definition
     * via the `patternProperty` "^[a-zA-Z0-9_.:-]+$".
     *
     * This interface was referenced by `EmbeddedComponent2`'s JSON-Schema definition
     * via the `patternProperty` "^[a-zA-Z0-9_.:-]+$".
     */
    [k: string]: {
        /**
         * Represents an unique id for the instance of the reuse component inside of the object page
         */
        id: string;
        /**
         * Represents the title for the content of the reuse component
         */
        title: string;
        /**
         * Represents an optional element binding  for the ComponentContainer that hosts the reuse component
         */
        binding?: string;
        /**
         * Represents a map to populate the API of the reuse component
         */
        settings?: {
            [k: string]: unknown;
        };
        /**
         * Flag, whether the embedded component should be hidden by default
         */
        hiddenByDefault?: {
            [k: string]: unknown;
        };
        /**
         * Represents group title of reuse components
         */
        groupTitle?: string;
        /**
         * Represents a section that behaves a leading section for the group
         */
        leadingSectionIdOrPath?: string;
        [k: string]: unknown;
    } & ({
        /**
         * Represents the name of the reuse component
         */
        componentName: string;
        [k: string]: unknown;
    } | {
        /**
         * Represents the reference to the name of the componentUsages defined in sap.ui5/componentUsages
         */
        componentUsage: string;
        [k: string]: unknown;
    } | {
        embeddedComponents: EmbeddedComponent1;
        [k: string]: unknown;
    });
}
/**
 * Represents the routing specification
 */
export interface RoutingSpecDef1 {
    /**
     * Represents the name of the route
     */
    routeName: string;
    /**
     * Represents the switch to indicate, that this route is not related to the OData service
     */
    noOData?: boolean;
    /**
     * Represents the binding string to indicate, how the page should be bound relative to the predecessor page or absolute
     */
    binding?: string;
    /**
     * Represents the the title to be shown on the page
     */
    headerTitle?: string;
    /**
     * Represents the URL pointing to an icon, that will be shown in the navigation menu additional to the title to represent the page
     */
    typeImageUrl?: string;
    /**
     * Represents the switch to indicate, whether this route is reached via a 1:1 navigation or a 1:n navigation
     */
    noKey?: boolean;
    /**
     * Name of a semantic key field which can be used to identify an instance of this page. Only relevant if nKey is false.
     */
    semanticKey?: string;
}
/**
 * Represents specific attributes for Fiori Elements
 */
export interface JSONSchemaForSAPFENamespace {
    [k: string]: unknown;
}
/**
 * Represents FLP specific attributes
 */
export interface JSONSchemaForSAPFLPNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0" | "1.3.0";
    /**
     * Represents size of the tile
     */
    tileSize?: "1x1" | "1x2";
    /**
     * Represents the type of FLP entry. It must be 'application' or 'tile' or 'plugin'
     */
    type: "application" | "tile" | "plugin";
    /**
     * Represents configuration parameters of the FLP entry
     */
    config?: {
        /**
         * Represents the configuration key and values
         *
         * This interface was referenced by `undefined`'s JSON-Schema definition
         * via the `patternProperty` "^[a-zA-Z0-9\_\.\-]*$".
         */
        [k: string]: {
            [k: string]: unknown;
        };
    };
    /**
     * Represents the original tile and target mapping which resulted in this app
     */
    origin?: {
        /**
         * Represents the original tile which resulted in this app
         */
        tileId?: string;
        /**
         * Represents the original target mapping which resulted in this app
         */
        targetMappingId?: string;
    };
}
/**
 * Represents OVP specific attributes
 */
export interface JSONSchemaForSAPOVPNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0" | "1.6.0" | "1.7.0" | "1.8.0" | "1.9.0" | "1.10.0";
    /**
     * Represents the name of global filter OData model, which  contains entities definition that are relevant for global filters
     */
    globalFilterModel?: string;
    /**
     * Represents the entity to use as global filter in the smart filter bar control
     */
    globalFilterEntityType?: string;
    /**
     * Represents the entity set to use as global filter in the smart filter bar control
     */
    globalFilterEntitySet?: string;
    /**
     * Represents a switch to include basic search in the global filters
     */
    showBasicSearch?: boolean;
    /**
     * Represents a switch to disable the error page shown on load of overview page when no data is retreived from the backend
     */
    disableErrorPage?: boolean;
    /**
     * Represents a switch to activate smart variant management in the global filters
     */
    smartVariantRequired?: boolean;
    /**
     * Represents a switch to show smart filter bar in expanded or collapsed mode
     */
    bHeaderExpanded?: boolean;
    /**
     * Represents the layout of the card container
     */
    containerLayout?: "fixed" | "resizable";
    /**
     * Represents a switch to Enable or disable Relative or Normal date formating in ovp application
     */
    showDateInRelativeFormat?: boolean;
    /**
     * Represents a switch to Enable or Disable the Flexibility of Table cards
     */
    disableTableCardFlexibility?: boolean;
    /**
     * Represents the switch to activate live update in the global filters, else manual update will be required
     */
    enableLiveFilter?: boolean;
    /**
     * Enable loading of cards when they enter viewport
     */
    enableLazyRendering?: boolean;
    refreshStrategyOnAppRestore?: RefreshStrategiesPropDef1;
    /**
     * Flag to enable/disable analytical parameter support for Smart filter bar
     */
    considerAnalyticalParameters?: boolean;
    /**
     * Time interval in minutes to auto refresh the card models
     */
    refreshIntervalInMinutes?: number;
    /**
     * Flag to enable/disable semantic date range control for Smart filter bar
     */
    useDateRangeType?: boolean;
    /**
     * Represents the object to store analytical chart settings
     */
    chartSettings?: {
        /**
         * Flag to enable data labels on analytical charts
         */
        showDataLabel?: boolean;
        [k: string]: unknown;
    };
    /**
     * Represents the object to store filter bar configuration
     */
    filterSettings?: {
        /**
         * Represents the object to store date type filter fields configuration
         */
        dateSettings?: {
            /**
             * Flag to enable DateTimeRange setting for date type filter fields with filter restriction interval
             */
            useDateRange?: boolean;
            /**
             * Represents the semantic date values selected for the date filter field
             */
            selectedValues?: string;
            /**
             * Flag to exclude values from the date picker
             */
            exclude?: boolean;
            /**
             * Represents the filter field definition for each field
             */
            fields?: {
                [k: string]: FilterFieldName;
            };
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /**
     * Represents the object to define data loading behaviour for an overview page application
     */
    dataLoadSettings?: {
        /**
         * Data load behaviour options on application launch
         */
        loadDataOnAppLaunch?: "always" | "never" | "ifAnyFilterExist";
        [k: string]: unknown;
    };
    cards: {
        [k: string]: Card;
    };
    resizableLayout?: {
        [k: string]: ResizableLayoutVariant;
    };
}
/**
 * Represents the refresh strategies configured for OVP while coming back to the source app
 */
export interface RefreshStrategiesPropDef1 {
    /**
     * Represents the map of entity sets configured for refresh strategies
     */
    entitySets?: {
        [k: string]: unknown;
    };
}
/**
 * Represents the configuration object for each date filter field
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*$".
 */
export interface FilterFieldName {
    /**
     * Represents the configuration for setting default value for the date filter field
     */
    defaultValue?: {
        /**
         * Represents the default semantic date value to be set on the filter field
         */
        operation?: string;
        [k: string]: unknown;
    };
    /**
     * Represents the semantic date values selected for the date filter field
     */
    selectedValues?: string;
    /**
     * Represents the custom implementation for semantic date filter field
     */
    customDateRangeImplementation?: string;
    /**
     * Flag to exclude values from the date picker
     */
    exclude?: boolean;
    [k: string]: unknown;
}
/**
 * Represents the card attributes
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+$".
 */
export interface Card {
    /**
     * Represents the position of the card in the sequence
     */
    sequencePos?: number;
    /**
     * Represents the model for the card
     */
    model?: string;
    /**
     * Represents the card component path to use for this card
     */
    template: string;
    settings?: CardSetting;
    /**
     * Represents the card with view switch control
     *
     * @minItems 1
     */
    tabs?: [TabSetting, ...TabSetting[]];
}
/**
 * Represents the card specific properties - properties that are passed to the card
 */
export interface CardSetting {
    /**
     * Represents the category of the card- used in the card header
     */
    category?: string;
    /**
     * Represents the user defined string in placeholder card
     */
    itemText?: string;
    /**
     * Represents language-dependent title of the card - used in the card header
     */
    title: string;
    /**
     * Represents language-dependent subtitle of the card - used in the card header
     */
    subTitle?: string;
    /**
     * Represents things like people, number of items
     */
    valueSelectionInfo?: string;
    /**
     * Represents the entity set that will be displayed in this card
     */
    entitySet?: string;
    /**
     * Represents the static content that will be displayed in this card
     */
    staticContent?: {
        [k: string]: unknown;
    }[];
    /**
     * Represents the flavor of the list to use in this card. The flavor can be bar chart, carousel or standard
     */
    listFlavor?: "standard" | "bar" | "carousel";
    /**
     * Represents the type of list to use for this card. The list can be extended to display more information or condensed to take up less space on the card
     */
    listType?: "extended" | "condensed";
    /**
     * Represents the sort key for the entity set
     */
    sortBy?: string;
    /**
     * Represents the sort order for the entity set
     */
    sortOrder?: "ascending" | "descending";
    /**
     * Represents the annotation path
     */
    annotationPath?: string;
    /**
     * Represents the selection annotation path
     */
    selectionAnnotationPath?: string;
    /**
     * Represents the chart annotation path
     */
    chartAnnotationPath?: string;
    /**
     * Represents the presentation annotation path
     */
    presentationAnnotationPath?: string;
    /**
     * Represents the data point annotation path
     */
    dataPointAnnotationPath?: string;
    /**
     * Represents the identification annotation path
     */
    identificationAnnotationPath?: string;
    /**
     * Represents the KPI annotation path
     */
    kpiAnnotationPath?: string;
    /**
     * Represents the selection presentation annotation path
     */
    selectionPresentationAnnotationPath?: string;
    /**
     * Represents the dynamic subtitle annotation path
     */
    dynamicSubtitleAnnotationPath?: string;
    /**
     * Represents the flag to indicate priority of number formatting over sap text
     */
    ignoreSapText?: boolean;
    /**
     * Represents the flag to enable/disable individual card's functionality to add them to insight
     */
    enableAddToInsights?: boolean;
    /**
     * Represents the flag to show/hide individual card's functionality to refresh the card
     */
    showRefresh?: boolean;
    defaultSpan?: DefaultSpanDef;
    /**
     * Represents the cards for which authorization is required
     */
    requireAppAuthorization?: string;
    objectStreamCardsSettings?: ObjectStreamCardsSettingsDef;
    /**
     * Represents the flag to indicate the use of object number/smart field
     */
    enableLocaleCurrencyFormatting?: boolean;
    /**
     * Represents the configuration to alter the navigation mode in OVP Analytical Cards
     */
    navigation?: "dataPointNav" | "chartNav" | "headerNav" | "noHeaderNav";
    /**
     * Represents a switch to Show or Hide Filters in Cards Headers in OVP application
     */
    showFilterInHeader?: boolean;
    /**
     * Represents a switch to Show or Hide Sorting in Cards Headers in OVP application
     */
    showSortingInHeader?: boolean;
    /**
     * Flag for enabling images in a condensed list card
     */
    imageSupported?: boolean;
    /**
     * Flag for show line item detail in list and table card
     */
    showLineItemDetail?: boolean;
    /**
     * This property is responsible for showing and hiding text labels on the geo spots
     */
    showLabelText?: boolean;
    /**
     * This property is responsible for passing custom parameters present in the entity set to the navigating application
     */
    customParams?: string;
    /**
     * This property is responsible for setting specific chart settings
     */
    chartProperties?: {
        plotArea?: PlotAreaDef;
        timeAxis?: TimeAxisDef;
    };
    /**
     * Represents the configuration to customize the column stacked chart
     */
    colorPalette?: {
        [k: string]: unknown;
    }[] | {
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
/**
 * Represents the Object Stream properties - properties that are passed to the Object Stream cards
 */
export interface ObjectStreamCardsSettingsDef {
    /**
     * Represents the flag to show first action in footer of the Quickview cards
     */
    showFirstActionInFooter?: boolean;
    /**
     * Represents the custom actions in the Quick View Cards
     *
     * @minItems 1
     */
    customActions?: [CustomActionsSetting, ...CustomActionsSetting[]];
    [k: string]: unknown;
}
/**
 * Represents the properties for the custom actions in the Quick View Cards
 */
export interface CustomActionsSetting {
    /**
     * Text displayed for extended actions in Quick View
     */
    text?: string;
    /**
     * Name of the press handler for extended actions in Quick View
     */
    press?: string;
    /**
     * Position of extended actions in Quick View
     */
    position?: number;
    [k: string]: unknown;
}
/**
 * Plot area is a parent property which defines multiple other properties for smoothness and marker size
 */
export interface PlotAreaDef {
    /**
     * Represents whether smoother curves are required or not
     */
    isSmoothed?: boolean;
    /**
     * Represents the size of the markers in scatter plots
     */
    markerSize?: number;
    /**
     * dataLabel is a parent property that defines other properties for type
     */
    dataLabel?: {
        /**
         * Defines whether to display percentage values or actual counts in the donut chart
         */
        type?: "value" | "percentage";
    };
}
/**
 * Represents the configuration to customize the time axis
 */
export interface TimeAxisDef {
    levels?: LevelsDef;
    [k: string]: unknown;
}
/**
 * Represents the tab specific properties - properties that are passed to a particular tab in a card
 */
export interface TabSetting {
    /**
     * Represents the annotation path
     */
    annotationPath?: string;
    /**
     * Represents the selection annotation path
     */
    selectionAnnotationPath?: string;
    /**
     * Represents the chart annotation path
     */
    chartAnnotationPath?: string;
    /**
     * Represents the presentation annotation path
     */
    presentationAnnotationPath?: string;
    /**
     * Represents the data point annotation path
     */
    dataPointAnnotationPath?: string;
    /**
     * Represents the identification annotation path
     */
    identificationAnnotationPath?: string;
    /**
     * Represents the dynamic subtitle annotation path
     */
    dynamicSubtitleAnnotationPath?: string;
    /**
     * Represents the drop down value to be shown
     */
    value?: string;
    /**
     * This property is responsible for setting specific chart settings
     */
    chartProperties?: {
        plotArea?: PlotAreaDef;
        timeAxis?: TimeAxisDef;
    };
    /**
     * Represents the configuration to customize the column stacked chart
     */
    colorPalette?: {
        [k: string]: unknown;
    }[] | {
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
/**
 * Represents the resizable layout variant
 *
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^cols_[0-9]+$".
 */
export interface ResizableLayoutVariant {
    [k: string]: ResizableLayoutVariantCardProperties;
}
/**
 * Represents the card properties is a layout variant
 *
 * This interface was referenced by `ResizableLayoutVariant`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]+$".
 */
export interface ResizableLayoutVariantCardProperties {
    /**
     * Represents the grid column
     */
    col: number;
    /**
     * Represents the grid row
     */
    row: number;
    /**
     * Represents the column span
     */
    colSpan: number;
    /**
     * Represents the row span
     */
    rowSpan: number;
    /**
     * Represents the visibility of the card
     */
    visible?: boolean;
}
/**
 * Represents Insights attributes
 */
export interface JSONSchemaForSAPInsightsNamespace {
    _version?: "1.0.0" | "1.1.0" | "1.2.0" | "1.3.0" | "1.4.0" | "1.5.0";
    /**
     * Represents mandatory unique app identifier of the app containing self manifest.
     */
    parentAppId: string;
    /**
     * Represents the entity to use as global filter in the filter bar control
     */
    filterEntitySet?: string;
    /**
     * Represents the template name, from where manifest is generated
     */
    templateName?: string;
    /**
     * Represents the environment type of Insights card
     */
    cardType: "DT" | "RT";
    /**
     * Represents the state of original or copied card
     */
    isDtCardCopy?: boolean;
    /**
     * Represents the deleted state for a user
     */
    isDeletedForUser?: boolean;
    /**
     * Represents the visibility type of Insights card
     */
    visible?: boolean;
    /**
     * Deprecated: Represents the display order of Insights card
     */
    rank?: number;
    /**
     * Represents UI5 and card generator middleware version.
     */
    versions?: {
        /**
         * Represents the version of UI5 used to generate the card.
         */
        ui5?: string;
        /**
         * Represents the version of design time card generator
         */
        dtMiddleware?: string;
        [k: string]: unknown;
    };
    /**
     * New property representing the display order of Insights card
     */
    ranking?: string;
    /**
     * Array of all supported chart type allowed for transformation.
     */
    allowedChartTypes?: ("bar" | "column" | "line" | "bullet" | "vertical_bullet" | "100_stacked_bar" | "100_stacked_column" | "waterfall" | "horizontal_waterfall" | "area" | "radar" | "combination" | "stacked_bar" | "stacked_column" | "stacked_combination" | "horizontal_stacked_combination" | "pie" | "donut" | "dual_bar" | "dual_column" | "dual_line" | "dual_stacked_bar" | "dual_stacked_column" | "dual_combination" | "dual_horizontal_combination" | "dual_stacked_combination" | "dual_horizontal_stacked_combination" | "100_dual_stacked_bar" | "100_dual_stacked_column" | "scatter" | "heatmap" | "timeseries_column" | "timeseries_line" | "timeseries_scatter" | "timeseries_stacked_column" | "timeseries_100_stacked_column" | "timeseries_bullet" | "timeseries_waterfall" | "timeseries_stacked_combination")[];
}
/**
 * Represents WDA specific attributes
 */
export interface JSONSchemaForSAPWDANamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0";
    /**
     * Represents ID of an application
     */
    applicationId: string;
    /**
     * Represents ID of an application configuration
     */
    configId?: string;
    /**
     * Represents SAP Screen Personas Flavor ID
     */
    flavorId?: string;
    /**
     * Indicates that WebDynpro Application requires Compatibility Mode, while uses legacy shell services. Possible values are true or false (default)
     */
    compatibilityMode?: boolean;
}
/**
 * Represents APF specific attributes
 */
export interface JSONSchemaForSAPAPFNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0";
    /**
     * Represents a switch to activate filter reduction so that filters in OData requests can be represented as ABAP select options
     */
    activateFilterReduction?: boolean;
    /**
     * Represents a switch to activate LREP as the persistence for configurations and texts
     */
    activateLrep?: boolean;
    /**
     * Represents a switch to use HEAD-Requests instead of GET-Requests when fetching the XSRF-Security-Token
     */
    useHeadRequestForXsrfToken?: boolean;
}
/**
 * Represents Cloud Portal specific attributes
 */
export interface JSONSchemaForSAPCLOUDPORTALNamespace {
    [k: string]: unknown;
}
/**
 * Represents GUI specific attributes
 */
export interface JSONSchemaForSAPGUINamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0" | "1.2.0";
    /**
     * Represents transaction of an application
     */
    transaction: string;
    /**
     * Represents SAP Screen Personas Flavor ID
     */
    flavorId?: string;
}
/**
 * Represents Application Integration specific attributes
 */
export interface JSONSchemaForSAPINTEGRATIONNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0";
    /**
     * Reference to the desired URL Template
     */
    urlTemplateId: string;
    /**
     * Represents configuration parameters which will be used by Template Engine to compile URL Template
     */
    parameters: {
        /**
         * Represents the name of the desired parameter
         */
        key: string;
        /**
         * Represents the actual value of the desired parameter
         */
        value: string;
        [k: string]: unknown;
    }[];
    [k: string]: unknown;
}
/**
 * Represents WCF Application specific attributes
 */
export interface JSONSchemaForSAPWCFNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0";
    /**
     * Represents the target technical id for a WCF Application
     */
    "wcf-target-id": string;
}
/**
 * Represents specific attributes for Smart Business
 */
export interface JSONSchemaForSAPUISMARTBUSINESSAPPNamespace {
    [k: string]: unknown;
}
/**
 * Represents mobile specific attributes
 */
export interface JSONSchemaForSAPMOBILENamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.1.0";
    /**
     * Represents mobile specific attributes
     */
    definingRequests: {
        [k: string]: DefiningRequest;
    };
    [k: string]: unknown;
}
/**
 * This interface was referenced by `undefined`'s JSON-Schema definition
 * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*".
 */
export interface DefiningRequest {
    /**
     * Represents reference to dataSource under sap.app
     */
    dataSource: string;
    /**
     * Represents path to the title collection
     */
    path: string;
    /**
     * Represents indicator whether streams should be retrieved
     */
    retrieveStreams?: boolean;
}
/**
 * Represents specific attributes for SAP CoPilot
 */
export interface JSONSchemaForSAPCOPILOTNamespace {
    /**
     * Represents SAP.COPILOT attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0" | "1.1.0";
    /**
     * Settings for the context analysis features of SAP CoPilot
     */
    contextAnalysis?: {
        /**
         * Enable/Disable the ability for SAP CoPilot to analyze your Application Screens and add the found objects to a Collection
         */
        allowAddingObjectsFromAppScreenToCollection?: boolean;
        /**
         * A list of the whitelisted EntityTypes, prefixed with their namespace, that SAP CoPilot can display. The empty list is ignored, thus allowing all EntityTypes by default.
         */
        whitelistedEntityTypes?: string[];
        [k: string]: unknown;
    };
    /**
     * Settings for the Digital Assistant features of SAP CoPilot
     */
    digitalAssistant?: {
        /**
         * A list of Intent
         */
        intentDefinition?: {
            /**
             * This interface was referenced by `undefined`'s JSON-Schema definition
             * via the `patternProperty` "^[a-zA-Z0-9_\.\-]*$".
             */
            [k: string]: {
                /**
                 * Represents the uri of the intent
                 */
                uri?: string;
                /**
                 * A list of the sap.app.dataSources used by the intent
                 */
                dataSources?: string[];
                /**
                 * Represents the uri of the translation file
                 */
                i18n?: string;
                [k: string]: unknown;
            };
        };
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
/**
 * Represents specific attributes for SAP.MAP
 */
export interface JSONSchemaForSAPMAPNamespace {
    [k: string]: unknown;
}
/**
 * Represents specific attributes for SAP URL
 */
export interface JSONSchemaForSAPURLNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0";
    /**
     * Represents URI of an application
     */
    uri: string;
}
/**
 * Represents SFSF platform specific attributes
 */
export interface JSONSchemaForSAPPLATFORMSFSFNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0";
    /**
     * Represents the uri inside the SFSF app
     */
    uri?: string;
    /**
     * Represents the SFSF application name
     */
    appName: string;
    /**
     * Represents the version of the SFSF application
     */
    appVersion?: string;
}
/**
 * Represents cloud platform specific attributes
 */
export interface JSONSchemaForSAPCLOUDNamespace {
    /**
     * Represents attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0" | "1.1.0" | "1.2.0";
    /**
     * Unique Business Service Identifier
     */
    service?: string;
    /**
     * Specify if the UI can be accessed from a different space than origin development space
     */
    public?: boolean;
}
/**
 * Represents general package attributes. Experimental, will be detailed in the future
 */
export interface JSONSchemaForSAPPACKAGENamespace {
    /**
     * Represents SAP.PACKAGE attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0" | "1.1.0" | "1.2.0";
    /**
     * Represents mandatory unique package identifier
     */
    id: string;
    /**
     * Represents path inside the package to the properties file containing text symbols for the packages texts
     */
    i18n?: string;
    /**
     * Represents mandatory semantic version of the package information and optional the upgrade notification
     */
    packageVersion: {
        /**
         * Represents mandatory semantic version of the package
         */
        version: string;
        /**
         * Represents optional upgrade notification once the package is available. none - no notification, package will be installed automatically for any version. major - notification before a new major version is installed. major.minor - notification before a major and minor version is installed. all - notification before any new version is installed, including patches
         */
        upgradeNotification?: "none" | "major" | "major.minor" | "all";
        [k: string]: unknown;
    };
    /**
     * Represents type of an package and can be card, workflow, workspace-template
     */
    type?: "card" | "workflow" | "workspace-template";
    /**
     * Represents a title (mandatory); to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    title: string;
    /**
     * Represents a subtitle to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    subTitle?: string;
    /**
     * Represents a shorter version of the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    shortTitle?: string;
    /**
     * Represents additional information to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    info?: string;
    /**
     * Represents a description; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    description: string;
    /**
     * Represents icon name or source URL for the package
     */
    icon?: string;
    /**
     * Represents array of keywords used to find the package
     */
    tags?: {
        keywords: Tag;
        technicalAttributes?: string[];
        [k: string]: unknown;
    };
    vendor: Vendor;
    homepage?: Infolink;
    support: Infolink1;
    documentation?: Infolink2;
    contents?: Contentitem[];
    /**
     * Represents list of product ids that are allowed to consume this package. if not defined all products that are capable of installing this package are allowed
     */
    consumption?: string[];
    /**
     * Represents the products and service that the pacakge depends on
     */
    dependencies?: {
        /**
         * List of products that this package depends on
         */
        products?: string[];
        /**
         * List of services that this package depends on
         */
        services?: string[];
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
/**
 * Represents the support information
 */
export interface Vendor {
    /**
     * Represents the vendor id
     */
    id: string;
    /**
     * Represents the vendor name
     */
    name: string;
    /**
     * Represents the vendor line of business within the vendors organization if any
     */
    lineOfBusiness?: string;
    /**
     * Represents a target url
     */
    url: string;
    [k: string]: unknown;
}
/**
 * Represents the homepage information
 */
export interface Infolink {
    /**
     * Represents a target url
     */
    url: string;
    /**
     * Represents a descriptive text for the target
     */
    text: string;
    [k: string]: unknown;
}
/**
 * Represents the support information
 */
export interface Infolink1 {
    /**
     * Represents a target url
     */
    url: string;
    /**
     * Represents a descriptive text for the target
     */
    text: string;
    [k: string]: unknown;
}
/**
 * Represents the documentation information
 */
export interface Infolink2 {
    /**
     * Represents a target url
     */
    url: string;
    /**
     * Represents a descriptive text for the target
     */
    text: string;
    [k: string]: unknown;
}
/**
 * Represents the artifacts contained in the package
 */
export interface Contentitem {
    /**
     * Relative url to the artifact within the folder in this package
     */
    baseURL?: string;
    /**
     * Wraps the child manifest
     */
    manifest?: {
        /**
         * The artifacts manifest
         */
        "sap.artifact"?: {
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
/**
 * Represents general artifact attributes.
 */
export interface JSONSchemaForSAPARTIFACTNamespace {
    /**
     * Represents SAP.ARTIFACT attributes format version. It is managed by namespace owner
     */
    _version?: "1.0.0" | "1.1.0" | "1.2.0";
    /**
     * Represents mandatory unique artifact identifier
     */
    id: string;
    /**
     * Represents path inside the artifact to the properties file containing text symbols for the artifacts texts
     */
    i18n?: string;
    /**
     * Represents mandatory semantic version of the artifact
     */
    artifactVersion: {
        version: Semanticversion;
        [k: string]: unknown;
    };
    /**
     * Represents type of an artifact and can be card, workflow, workspace-template
     */
    type: "card" | "workflow" | "workspace-template";
    /**
     * Represents a title (mandatory); to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    title: string;
    /**
     * Represents a subtitle to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    subTitle?: string;
    /**
     * Represents a shorter version of the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    shortTitle?: string;
    /**
     * Represents additional information to the title; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    info?: string;
    /**
     * Represents a description; to make this property language dependent (recommended), use a key in double curly brackets '{{key}}'
     */
    description: string;
    /**
     * Represents icon name or source URL for the artifact
     */
    icon?: string;
    /**
     * Represents array of keywords used to find the artifact
     */
    tags?: {
        keywords: Tag;
        technicalAttributes?: string[];
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
