import { CSSProperties } from 'react'; import { HeaderItemFill, HeaderItemSize } from './types.js'; /** * Default size (in pixels) for a header item dimension that is not specified. * * Each component can override this with its own default (e.g. the dashboard uses 28px) by passing * `defaultSize` to the renderer. */ export declare const DEFAULT_HEADER_ITEM_SIZE = 24; /** * Applies the default-size fallback to a (possibly partial) size. * * The result is what gets passed to a {@link HeaderItemComponent} via `props.size`. */ export declare const resolveHeaderItemSize: (size?: HeaderItemSize, defaultSize?: number) => Required; /** * Maps a resolved size and the internal {@link HeaderItemFill} to the CSS for an item's wrapper. * * - `fill: 'grow'` → flexible, grows to fill the row (the center spacer). * - `fill: 'truncate'` → natural content width, shrinkable (the title — enables ellipsis). * - `fill: 'content'` → natural content width, never shrinks (built-in action buttons/menu — so a * long title cannot squeeze and clip their icons). * - no `fill` (external items) → fixed pixel `width` (provided or defaulted). * * `fill` is internal: it is set only on built-in items. External items never carry it, so they are * always laid out at a fixed pixel width. * * `height` is applied as a fixed pixel height (provided or defaulted). Every cell uses * `align-items: center`, so an item shorter than the cell is centered vertically; */ export declare const getHeaderItemStyle: (size: Required, fill?: HeaderItemFill) => CSSProperties;