import type { Ui5App, App, AppOptions } from '@sap-ux/ui5-application-writer'; import type { OdataService } from '@sap-ux/odata-service-writer'; import type { CapServiceCdsInfo } from '@sap-ux/cap-config-writer'; export declare const TemplateType: { readonly Worklist: "worklist"; readonly ListReportObjectPage: "lrop"; readonly AnalyticalListPage: "alp"; readonly OverviewPage: "ovp"; readonly FormEntryObjectPage: "feop"; readonly FlexibleProgrammingModel: "fpm"; }; export type TemplateType = (typeof TemplateType)[keyof typeof TemplateType]; /** * General validation error thrown if app config options contain invalid combinations */ export declare class ValidationError extends Error { /** * ValidationError constructor. * * @param message - the error message */ constructor(message: string); } export interface EntityConfig { /** * The name of the main entity used for list page entity */ mainEntityName: string; /** * Represents a parameter used alongside the main entity to query for data. * When this parameter is set, the prompt for selecting navigation properties is skipped, * as the entity set is parameterised and directly linked to its target entity set. * If a value is provided, navigation routes will always include it. * * @example * Example input: * ``` * { * mainEntityName: `Products`, * mainEntityParameterName: 'ProductFilter' * } * ``` * Example of the resulting routing entry: * ``` * "routes": [ * { * "pattern": ":?query:", * "name": "ProductsList", * "target": "ProductsList" * }, * { * "pattern": "Products({key})/ProductFilter({key2}):?query:", * "name": "ProductsObjectPage", * "target": "ProductsObjectPage" * } * ] * ``` */ mainEntityParameterName?: string; /** * Configuration for the navigation entity used for object page navigation. */ navigationEntity?: { EntitySet: string; Name: string; }; } export declare const TableType: { readonly GRID: "GridTable"; readonly ANALYTICAL: "AnalyticalTable"; readonly RESPONSIVE: "ResponsiveTable"; readonly TREE: "TreeTable"; }; export type TableType = (typeof TableType)[keyof typeof TableType]; export declare const TableSelectionMode: { readonly NONE: "None"; readonly AUTO: "Auto"; readonly MULTI: "Multi"; readonly SINGLE: "Single"; }; export type TableSelectionMode = (typeof TableSelectionMode)[keyof typeof TableSelectionMode]; export interface TableSettings { tableType?: TableType; qualifier?: string; hierarchyQualifier?: string; } export interface LROPSettings extends TableSettings { entityConfig: EntityConfig; } export interface FPMSettings { entityConfig: EntityConfig; /** * Title for the page building block. * Used for custom apps when the user opts to add a Page Building Block during app generation. * This value will be displayed as the title of the generated custom page. */ pageBuildingBlockTitle?: string; /** * Name of the custom page. */ pageName: string; } export interface WorklistSettings extends TableSettings { entityConfig: EntityConfig; } export interface FEOPSettings { entityConfig: EntityConfig; } export type OVPSettings = { /** * Represents the entity type to use as a global filter in the smart filter bar control. * * @deprecated since version SAPUI5 1.54. Use `filterEntitySet` instead, this property will be removed in a future version */ filterEntityType: string; } | { /** * Represents the entity set to use as a global filter in the smart filter bar control. */ filterEntitySet: string; }; export interface ALPSettings extends TableSettings { entityConfig: EntityConfig; } export interface ALPSettingsV2 extends ALPSettings { smartVariantManagement?: boolean; multiSelect?: boolean; qualifier?: string; autoHide?: boolean; } export interface ALPSettingsV4 extends ALPSettings { selectionMode?: TableSelectionMode; } export interface Template { type: TemplateType; settings: T; } /** * Additional configuration for Fiori Apps */ export interface FioriApp extends App { /** * Use the specified app id when generating the test Fiori launch pad config */ flpAppId?: string; } export interface FioriElementsApp extends Ui5App { template: Template; service: Omit & { capService?: CapServiceCdsInfo; }; app: FioriApp; appOptions: Partial & { /** * Generate OPA based tests, if applicable to the specified template. * This will eventually move up to {@link Ui5App.appOptions} */ addTests?: boolean; /** * If addAnnotations is true, annotations are enabled. * However, annotations will only be written if the template type is lrop, worklist, or formEntryObject; annotation generation is unspported for other project types. */ addAnnotations?: boolean; /** * Indicates if updates to the root package.json of CAP projects should be disabled. If true, the root package.json will not be updated with the sapux array or the cds watch scripts. */ disableCapRootPkgJsonUpdates?: boolean; }; } export { OdataVersion } from '@sap-ux/odata-service-writer'; //# sourceMappingURL=types.d.ts.map