import { FloatingContext, ReferenceType } from '@floating-ui/react'; import { default as React } from 'react'; import { IntentionalAny } from '../../types'; import { SideNavProps } from './sidenav/sidenav'; export interface ILayoutContext { menuOpen: boolean; toggleMenu: () => void; /** * Type of the Header * - System header is meant for logged in system * - Public is meant for public pages where user is not yet signed in, usually also does not have sidenav on desktop * @default 'system' */ headerType: 'system' | 'public'; reference: (node: ReferenceType | null) => void; floating: (node: HTMLElement | null) => void; getReferenceProps: (userProps?: React.HTMLProps | undefined) => Record; getFloatingProps: (userProps?: React.HTMLProps | undefined) => Record; context: FloatingContext; sideNavProps?: SideNavProps; y: number | null; /** * reference to header element to position HeaderDropdown aligned with bottom of header. */ headerElement: React.RefObject | null; /** * reference to header bottom element to position affixes relative to it. */ headerBottomElement: React.RefObject | null; headerBottomSize?: DOMRect; /** * Custom toggle function for mobile menu * @param menuOpen - The current state of the menu (true if open, false if closed) * @default undefined */ onHeaderSidenavToggle?: (menuOpen: boolean) => void; } export declare const LayoutContext: React.Context;