import { ScheduleSubTabType } from '@zeniai/client-epic-state'; import { ResponsiveSized, WindowSize } from '../../../../../context/windowSizeProvider'; /** Root class for schedule list data rows (sticky column hover matches parent). */ export declare const SCHEDULE_LIST_ROW_ROOT_CLASS = "schedule-list-table-row-root"; export declare const HEADER_HEIGHT: number; export declare const HEADER_HEIGHT_MOBILE = 45; export declare const OVERSCAN_COUNT = 1; /** Skeleton row count while schedule list fetch is in progress with no rows yet. */ export declare const SCHEDULE_LIST_LOADING_PLACEHOLDER_ROWS = 3; export declare const rowDimensions: { rowHeight: ResponsiveSized; rowGap: ResponsiveSized; nameLogoWidth: ResponsiveSized; nameLogoHeight: ResponsiveSized; ownerLogoWidth: ResponsiveSized; ownerLogoHeight: ResponsiveSized; logoToValueGap: ResponsiveSized; smallLogoToValueGap: ResponsiveSized; webkitLineClamp: ResponsiveSized; }; export declare const headerDimensions: { headerHeight: ResponsiveSized; }; /** * Height subtracted from the page `containerHeight` passed into schedule list tables. * Matches chrome above the embedded list (vendor nav / tab strip) so scroll math and * `isScheduleListScrollable` use the same viewport height as the rendered list. */ export declare const SCHEDULE_LIST_CONTAINER_NAV_OFFSET_PX = 86; /** Available vertical space for the list after subtracting {@link SCHEDULE_LIST_CONTAINER_NAV_OFFSET_PX}. */ export declare function getScheduleListViewportHeightPx(containerHeight: number): number; /** * Pixel height of the list block: sticky column header + virtualized data rows + optional totals row. * Matches `stickyElement` (header uses `headerHeight`, totals row uses `rowHeight`). * Totals row is omitted while loading skeleton rows (`showLoading`). */ export declare function getScheduleListNaturalTableHeightPx(windowSize: WindowSize, showLoading: boolean, dataRowCount: number, loadingPlaceholderRows: number): number; /** True when table content is taller than the available list viewport (list scrolls vertically). */ export declare function isScheduleListScrollable(windowSize: WindowSize, containerHeight: number, showLoading: boolean, rowCount: number, showLoadingSkeletonRowCount: number): boolean; /** Merges persisted per-sub-tab offsets with defaults so `initialScrollOffset` is never `undefined`. */ export declare function getInitialScrollOffsetForScheduleSubTab(scrollYOffset: Partial> | undefined, currentSubTab: ScheduleSubTabType): number;