import React from 'react'; import { SplitPanelSideToggleProps } from '../../internal/context/split-panel-context'; import { AppLayoutProps, AppLayoutPropsWithDefaults } from '../interfaces'; import { FocusControlRefs } from '../utils/use-focus-control'; import { SplitPanelFocusControlRefs } from '../utils/use-split-panel-focus-control'; export interface AppLayoutInternals extends AppLayoutPropsWithDefaults { activeDrawerId: string | null; drawers: Array | undefined; drawersAriaLabel: string | undefined; drawersOverflowAriaLabel: string | undefined; drawersOverflowWithBadgeAriaLabel: string | undefined; drawersRefs: FocusControlRefs; drawerSize: number; drawersMinWidth: number; drawersMaxWidth: number; drawerRef: React.Ref; resizeHandle: React.ReactElement; drawersTriggerCount: number; handleDrawersClick: (activeDrawerId: string | null, skipFocusControl?: boolean) => void; handleSplitPanelClick: () => void; handleNavigationClick: (isOpen: boolean) => void; handleSplitPanelPreferencesChange: (detail: AppLayoutProps.SplitPanelPreferences) => void; handleSplitPanelResize: (newSize: number) => void; handleToolsClick: (value: boolean, skipFocusControl?: boolean) => void; hasBackgroundOverlap: boolean; hasDrawerViewportOverlay: boolean; hasNotificationsContent: boolean; hasOpenDrawer?: boolean; isBackgroundOverlapDisabled: boolean; isMobile: boolean; isSplitPanelForcedPosition: boolean; isSplitPanelOpen?: boolean; isToolsOpen: boolean; layoutElement: React.Ref; layoutWidth: number; loseToolsFocus: () => void; loseDrawersFocus: () => void; mainElement: React.Ref; mainOffsetLeft: number; navigationRefs: FocusControlRefs; notificationsHeight: number; setNotificationsHeight: (height: number) => void; offsetBottom: number; setSplitPanelReportedSize: (value: number) => void; setSplitPanelReportedHeaderHeight: (value: number) => void; headerHeight: number; footerHeight: number; splitPanelControlId: string; splitPanelMaxWidth: number; splitPanelPosition: AppLayoutProps.SplitPanelPosition; splitPanelReportedSize: number; splitPanelReportedHeaderHeight: number; splitPanelToggle: SplitPanelSideToggleProps; setSplitPanelToggle: (toggle: SplitPanelSideToggleProps) => void; splitPanelDisplayed: boolean; splitPanelRefs: SplitPanelFocusControlRefs; toolsControlId: string; toolsRefs: FocusControlRefs; __embeddedViewMode?: boolean; } interface AppLayoutProviderInternalsProps extends AppLayoutPropsWithDefaults { children: React.ReactNode; } export declare function useAppLayoutInternals(): AppLayoutInternals; export declare const AppLayoutInternalsProvider: React.ForwardRefExoticComponent>; export {};