import type { ComponentPropsWithoutRef, Ref } from 'react'; import type { PanelWidth } from '../../split-layout/width-utils.js'; import type { ExtractedDetailsSlot } from '../details-layout/slots.js'; import type { ExtractedSidebarSlot } from '../sidebar-layout/slots.js'; /** * Slot configuration written by a slot component via the registry. * Mirrors the corresponding `Extracted*Slot` types but omits `children` * because children are delivered through the portal host node. */ /** @internal */ export interface HeaderSlotConfig { domProps: ComponentPropsWithoutRef<'div'>; ref?: Ref; } /** @internal */ export interface SidebarSlotConfig { config: ExtractedSidebarSlot['config']; domProps: ComponentPropsWithoutRef<'div'>; ref?: Ref; } /** @internal */ export interface ContentSlotConfig { config: { minWidth: PanelWidth; }; domProps: ComponentPropsWithoutRef<'div'>; ref?: Ref; } /** @internal */ export interface DetailsSlotConfig { config: ExtractedDetailsSlot['config']; domProps: ComponentPropsWithoutRef<'div'>; ref?: Ref; }