import React from 'react'; import { AppLayoutProps } from '../../interfaces'; import { OnChangeParams } from '../../utils/use-drawers'; import { Focusable, FocusControlMultipleStates } from '../../utils/use-focus-control'; import { SplitPanelToggleProps, ToolbarProps } from '../toolbar'; export interface SharedProps { navigationOpen: boolean; ariaLabels: AppLayoutProps.Labels | undefined; navigation: React.ReactNode; onNavigationToggle?: (open: boolean) => void; navigationFocusRef: React.Ref | undefined; breadcrumbs: React.ReactNode; activeDrawerId: string | null; drawers: ReadonlyArray | undefined; onActiveDrawerChange: ((drawerId: string | null, params: OnChangeParams) => void) | undefined; drawersFocusRef: React.Ref | undefined; bottomDrawersFocusRef?: React.Ref | undefined; globalDrawersFocusControl?: FocusControlMultipleStates | undefined; globalDrawers?: ReadonlyArray | undefined; activeGlobalDrawersIds?: ReadonlyArray | undefined; onActiveGlobalDrawersChange?: ((newDrawerId: string, params: OnChangeParams) => void) | undefined; splitPanel: React.ReactNode; splitPanelToggleProps: SplitPanelToggleProps | undefined; splitPanelFocusRef?: React.Ref | undefined; onSplitPanelToggle?: () => void; expandedDrawerId?: string | null; setExpandedDrawerId?: (value: string | null) => void; aiDrawer?: AppLayoutProps.Drawer | undefined; aiDrawerFocusRef: React.Ref | undefined; activeGlobalBottomDrawerId?: string | null; onActiveGlobalBottomDrawerChange?: (value: string | null, params: OnChangeParams) => void; bottomDrawers?: ReadonlyArray | undefined; } export type MergeProps = (ownProps: SharedProps, additionalProps: ReadonlyArray>) => ToolbarProps | null;