import type { ReactNode } from 'react' import type { LeftPanelInfo, MerchantInfo } from '../shared/layoutTypes' // Re-exported for backward compatibility: `MerchantInfo` was previously declared // here and is part of the public API via `Topbar/index.ts`. export type { MerchantInfo } from '../shared/layoutTypes' export type TopbarProps = { children?: ReactNode /** Sidebar expansion state */ isExpanded?: boolean onToggleExpansion?: () => void showToggleButton?: boolean /** When true, hides toggle button (used in panel only mode) */ panelOnlyMode?: boolean /** Controlled mode: Show/hide topbar */ isVisible?: boolean /** Callback when visibility changes (controlled mode) */ onVisibilityChange?: (visible: boolean) => void /** Uncontrolled mode: Initial topbar visibility (defaults to true) */ defaultIsVisible?: boolean sidebarTopSlot?: ReactNode topbar?: ReactNode leftAction?: ReactNode rightActions?: ReactNode showBackButton?: boolean onBackClick?: () => void leftPanel?: LeftPanelInfo merchantInfo?: MerchantInfo /** ARIA controls ID for the sidebar navigation */ ariaControls?: string }