import { CSSProperties, ReactNode } from 'react'; import { ProWaterMarkProps } from '../ProWaterMark/propsType'; export interface MenusProps { id?: number; code?: string; name?: string; url?: string; redirectUrl?: string; parentId?: number | null; description?: any; extraInfo?: any; sort?: number | undefined | null; hideInMenu?: boolean; icon?: string; imgUrl?: string; imgActiveUrl?: string; type?: string; keyUrlPath?: string[]; keyIdPath?: number[]; children?: MenusProps[] | null; [key: string]: any; } export interface DataSourceProps { userInfo?: any; menus?: MenusProps[]; } type themeEnum = 'light' | 'dark'; type pureKey = boolean | { topMenu?: boolean; leftMenu?: boolean; }; export interface ProLayoutProps { logo?: ReactNode | string; className?: string; iconfontUrl?: string; rightContentRender?: ReactNode; headerContentRender?: ReactNode; headerTitleRender?: ReactNode; sideMenuHeaderRender?: ReactNode; sideMenuFooterRender?: ReactNode; headerNotice?: ReactNode | string; notice?: ReactNode | string; title?: string; dataSource?: DataSourceProps | Partial; collapsed?: boolean; /** * 是否带有菜单界面,true不带,只显示content内容 */ pure?: pureKey; headerHeight?: number; contentStyle?: CSSProperties; waterMarkProps?: ProWaterMarkProps; theme?: themeEnum; [key: string]: any; } export interface ProLayoutStates { collapsed?: boolean; notice?: ReactNode | string; [key: string]: any; } export {};