import { ReactNode } from 'react'; import { LeftPanelInfo, MerchantInfo } from '../shared/layoutTypes'; 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; };