import { Cache } from './Cache'; import { Position } from './types'; export declare const MULTI_COL_ITEMS_MEASURE_BATCH_SIZE = 5; type GridSizeConfig = { 'sm': number; 'md': number; '_lg1'?: number; 'lg': number; 'xl': number; }; type GridSize = keyof GridSizeConfig; export type ColumnSpanConfig = number | GridSizeConfig; export type ModulePositioningConfig = { itemsBatchSize: number; whitespaceThreshold?: number; iterationsLimit?: number; }; export type ResponsiveModuleConfig = number | { 'min': number; 'max': number; } | undefined; export declare function columnCountToGridSize(columnCount: number): GridSize; export declare function getColumnSpanFromGridSize(columnSpanConfig: ColumnSpanConfig, gridSize: GridSize): number; export declare function calculateActualColumnSpan(props: { columnCount: number; firstItem: T; isFlexibleWidthItem: boolean; item: T; responsiveModuleConfigForSecondItem: ResponsiveModuleConfig; _getColumnSpanConfig: (item: T) => ColumnSpanConfig; }): number; export declare function initializeHeightsArray({ centerOffset, checkIsFlexibleWidthItem, columnCount, columnWidthAndGutter, firstItem, gutter, items, positionCache, responsiveModuleConfigForSecondItem, _getColumnSpanConfig, }: { centerOffset: number; checkIsFlexibleWidthItem: (item: T) => boolean; columnCount: number; columnWidthAndGutter: number; firstItem: T; gutter: number; items: ReadonlyArray; positionCache: Cache | null | undefined; responsiveModuleConfigForSecondItem: ResponsiveModuleConfig; _getColumnSpanConfig: (item: T) => ColumnSpanConfig; }): ReadonlyArray; declare const multiColumnLayout: ({ items, gutter, columnWidth, columnCount, centerOffset, logWhitespace, measurementCache, positionCache, originalItems, _getColumnSpanConfig, _getModulePositioningConfig, _getResponsiveModuleConfigForSecondItem, _multiColPositionAlgoV2, }: { items: ReadonlyArray; gutter?: number; columnWidth?: number; columnCount?: number; centerOffset?: number; positionCache: Cache; measurementCache: Cache; logWhitespace?: (additionalWhitespace: ReadonlyArray, numberOfIterations: number, columnSpan: number) => void; originalItems: ReadonlyArray; _getColumnSpanConfig: (item: T) => ColumnSpanConfig; _getModulePositioningConfig?: (gridSize: number, moduleSize: number) => ModulePositioningConfig; _getResponsiveModuleConfigForSecondItem: (item: T) => ResponsiveModuleConfig; _multiColPositionAlgoV2?: boolean; }) => ReadonlyArray; export default multiColumnLayout;