import type { FlexibleColumnLayoutAggregations } from '../../Application';
import type { FlexibleColumnLayoutType } from '../../types';
export declare const FIORI_FCL_ROOT_VIEW_NAME = "sap.fe.templates.RootContainer.view.Fcl";
export declare const FIORI_FCL_ROOT_ID = "appRootView";
export declare enum ViewTypes {
    XML = "XML",
    HTML = "HTML",
    JSON = "JSON"
    /**
     * Deprecated as of version 1.90
     * JS
     */
}
export interface SapUi5RootView {
    viewName: typeof FIORI_FCL_ROOT_VIEW_NAME | string;
    type: ViewTypes;
    id: typeof FIORI_FCL_ROOT_ID | string;
    async?: boolean;
}
export interface SapUi5OdataModel {
    preload?: boolean;
    dataSource: string;
    settings?: {
        bundleUrl?: string;
        bundleName?: string;
    };
}
export interface SapUi5ResourceModel {
    type: string;
    uri?: string;
}
export type SapUi5RoutingRouteTarget = string | string[];
export interface SapUi5RoutingRoute {
    name: string;
    pattern: string;
    target: SapUi5RoutingRouteTarget;
    layout?: FlexibleColumnLayoutType;
}
export declare const SAPUI5_VIEW_CLASS = "sap.ui.core.mvc.View";
export declare const SAPUI5_FRAGMENT_CLASS = "sap.ui.core.Fragment";
export interface SapUi5ViewPath {
    key: string;
    annotationPath?: string;
    entitySet?: string;
    label?: string;
    template?: string;
    keepPreviousPersonalization?: boolean;
    visible?: string;
}
export interface SapUi5RoutingTargetSettingsViews {
    showCounts?: boolean;
    paths?: Array<SapUi5ViewPath>;
}
export interface SapUi5RoutingTargetNavigation {
    detail: object;
}
export interface SapUi5RoutingTargetSettings {
    entitySet?: string;
    contextPath?: string;
    navigation?: {
        [key: string]: SapUi5RoutingTargetNavigation;
    };
    content?: {
        header?: {
            facets?: {};
        };
        body?: {
            sections?: {
                subSections?: {};
            };
        };
        footer?: {
            actions?: {};
        };
        controlConfiguration?: {};
    };
    variantManagement?: string;
    controlConfiguration?: object;
    viewPath?: string;
    views?: SapUi5RoutingTargetSettingsViews;
}
export interface SapUi5RoutingTargetBase {
    options?: {
        settings: SapUi5RoutingTargetSettings;
    };
    controlAggregation?: FlexibleColumnLayoutAggregations;
    contextPattern?: string;
}
export interface SapUi5RoutingTarget extends SapUi5RoutingTargetBase {
    type: string;
    id: string;
    name: string;
}
export interface Dependencies {
    minUI5Version?: string;
    libs?: {
        [key: string]: {
            lazy?: boolean;
        };
    };
    components?: {
        [key: string]: {
            lazy?: boolean;
        };
    };
}
//# sourceMappingURL=sapUi5.d.ts.map