///
import { TyTooltipProps } from '../TyTooltip/type';
/**app 轻应用 */
export declare namespace APP {
enum LogoTypeEnum {
NORMAL = "NORMAL",//无
BETA = "BETA",
ALPHA = "ALPHA",
NEW = "NEW",
LEGACY = "LEGACY",//对应旧版
NUMBER = "NUMBER"
}
type logoInfo = {
path: string;
type: LogoTypeEnum[];
infoUrl: string;
};
type appBaseInfo = {
dockOrder?: number;
groupName?: string;
appName: string;
appText: string;
appEnText: string;
logoInfo?: logoInfo;
realPath: string;
openMethod: 1 | 2 | 3;
is3App?: boolean;
};
/**左侧菜单栏 */
type dockAppInfo = appBaseInfo & {
webAppId?: number;
appSource?: string;
children?: dockAppInfo[];
menus?: wuKongMenu[];
};
/**左侧菜单栏原始数据 */
type dockAppInfoRaw = {
pined: dockAppInfo[];
history: dockAppInfo[];
allWebApp: dockAppInfo[];
userMenus: userMenus;
wukongApiUrl?: string;
};
/**轻应用市场 */
type appInfo = appBaseInfo & {
id: number;
type?: number;
ctime?: number;
cuser?: number;
mtime?: number;
muser?: number;
status?: number;
version?: string;
children?: appInfo[];
canModify?: boolean;
};
/**应用分类 */
type appCategories = {
id: number;
text: string;
enText: string;
categoryOrder: number;
webApps: appInfo[];
};
type wuKongMenu = {
id: number;
link?: string;
title: string;
parentId: number;
productType?: number;
env?: number;
productTypeStr?: string;
[key: string]: any;
children: wuKongMenu[];
};
type userMenus = {
myMsgNoUrl?: string;
myMsgUrl?: string;
userCenterUrl?: string;
wukongUrl?: string;
docUrl?: string;
};
/**jump函数params*/
type jumpParams = {
appName: string;
query: string;
newWindow?: boolean;
hiddenMenu?: string;
[key: string]: any;
};
type IWujieRef = {
getWujieReactRef: () => React.MutableRefObject;
};
}
export type TyTopSubmenuProps = {
docDescription?: string;
docPath?: string;
tooltipProps?: TyTooltipProps;
showConfig?: boolean;
menus?: APP.wuKongMenu[];
appInfo?: APP.dockAppInfo;
onTitleClick?: (appInfo: APP.dockAppInfo, e: React.MouseEvent) => void;
onMenuSelect?: (menuInfo: APP.wuKongMenu) => void;
onConfigClick?: () => void;
onOpenDoc?: (docPath?: string) => void;
rightContent?: () => React.ReactNode;
leftContent?: () => React.ReactNode;
[key: string]: any;
};