import React, { MouseEventHandler, RefObject } from 'react'; import './PageLayout.css'; export type headerProps = { backNavigation?: Function; Breadcrumb?: React.ReactNode; component?: React.ReactNode; title?: string; headerLogoOnClick?: MouseEventHandler; }; export type mainContentProps = { component?: React.ReactNode; livePreview?: React.ReactNode; }; export type sidebarProps = { component?: React.ReactNode; }; export type topNavBarProps = { component?: React.ReactNode; }; export type stickyFooterProps = { component?: React.ReactNode; }; export type layoutProps = { footer?: stickyFooterProps; content?: mainContentProps | emptyPageContentProps; header?: headerProps; headerType?: string; leftSidebar?: sidebarProps; rightSidebar?: sidebarProps; layoutBackgroundColor?: boolean; leftFooter?: React.ReactNode; rightFooter?: React.ReactNode; contentHeader?: React.ReactNode; noSideNav?: boolean; type: string; className?: string; mode?: 'compact' | 'fullscreen'; topNavBar?: topNavBarProps; topNavMode?: boolean; version?: 'v2'; hasBackground?: boolean; testId?: string; resizeable?: boolean; resizableLeftMaxWidth?: number; resizableLeftMinWidth?: number; initialWidth?: number; setCurrentWidth?: Function; noLeftNav?: boolean; breadcrumbMargin?: boolean; }; export type contentProps = { content: mainContentProps; type: string; toggle?: Function; toggleStat?: boolean; headerType?: string; mode?: 'compact' | 'fullscreen'; layoutBackgroundColor?: boolean; onKeyDown?: any; version?: string; resizeable?: boolean; resizableLeftMaxWidth?: number; resizableLeftMinWidth?: number; layoutHeaderRef?: RefObject; pageLayoutRef?: RefObject; leftSidebarRef?: RefObject; setCurrentWidth?: Function; noLeftNav?: boolean; noSideNav?: boolean; }; export type layoutHeaderProps = { header: headerProps; toggle?: Function; toggleStat?: boolean; type: string; headerType?: string; mode?: 'compact' | 'fullscreen'; layoutBackgroundColor?: boolean; onKeyDown?: any; testId?: string; version?: string; noLeftNav?: boolean; }; export type leftSidebarProps = { leftSidebar: sidebarProps; }; export type rightSidebarProps = { rightSidebar: sidebarProps; }; export type footerProps = { footer?: stickyFooterProps; onKeyDown?: any; }; export type rightFooterProps = { rightFooter?: React.ReactNode; onKeyDown?: any; }; export type leftFooterProps = { leftFooter?: React.ReactNode; onKeyDown?: any; }; export type secondaryLayoutProps = { content: mainContentProps; footer?: stickyFooterProps; header: headerProps; leftSidebar?: sidebarProps; rightSidebar?: sidebarProps; className?: string; mode?: 'compact' | 'fullscreen'; layoutBackgroundColor?: boolean; leftFooter?: React.ReactNode; rightFooter?: React.ReactNode; contentHeader?: React.ReactNode; topNavBar?: topNavBarProps; version?: 'v2'; testId?: string; noLeftNav?: boolean; noSideNav?: boolean; breadcrumbMargin?: boolean; }; export type primaryLayoutProps = { content: mainContentProps; header: headerProps; leftSidebar?: sidebarProps; type?: string; headerType?: string; className?: string; hasBackground?: boolean; noSideNav?: boolean; testId?: string; version?: string; resizeable?: boolean; resizableLeftMaxWidth?: number; resizableLeftMinWidth?: number; initialWidth?: number; setCurrentWidth?: Function; noLeftNav?: boolean; breadcrumbMargin?: boolean; }; export type emptyPageContentProps = { component?: React.ReactNode; alignContent?: 'center'; backgroundColor?: 'primary' | 'secondary'; }; export type emptyPageProps = { content: emptyPageContentProps; header?: headerProps; testId?: string; }; declare const PageLayout: (props: layoutProps) => React.JSX.Element; export default PageLayout;