import { StickyPosition } from './types';
/**
 * Get columns that should be sticky on the left.
 *
 * @param columns - Array of column configurations
 * @returns Array of columns with sticky='left'
 */
export declare function getLeftStickyColumns(columns: any[]): any[];
/**
 * Get columns that should be sticky on the right.
 *
 * @param columns - Array of column configurations
 * @returns Array of columns with sticky='right'
 */
export declare function getRightStickyColumns(columns: any[]): any[];
/**
 * Check if any columns have sticky positioning.
 *
 * @param columns - Array of column configurations
 * @returns True if any column has sticky position
 */
export declare function hasStickyColumns(columns: any[]): boolean;
/**
 * Get the sticky position of a column.
 *
 * @param column - Column configuration
 * @returns The sticky position or null if not sticky
 */
export declare function getColumnStickyPosition(column: any): StickyPosition | null;
/**
 * Calculate left offsets for sticky-left columns.
 * Returns a map of field -> offset in pixels.
 *
 * @param columns - Array of column configurations (in order)
 * @param getColumnWidth - Function to get column width by field
 * @returns Map of field to left offset
 */
export declare function calculateLeftStickyOffsets(columns: any[], getColumnWidth: (field: string) => number): Map<string, number>;
/**
 * Calculate right offsets for sticky-right columns.
 * Processes columns in reverse order.
 *
 * @param columns - Array of column configurations (in order)
 * @param getColumnWidth - Function to get column width by field
 * @returns Map of field to right offset
 */
export declare function calculateRightStickyOffsets(columns: any[], getColumnWidth: (field: string) => number): Map<string, number>;
/**
 * Apply sticky offsets to header and body cells.
 * This modifies the DOM elements in place.
 *
 * @param host - The grid host element (render root for DOM queries)
 * @param columns - Array of column configurations
 */
export declare function applyStickyOffsets(host: HTMLElement, columns: any[]): void;
/**
 * Clear sticky positioning from all cells.
 *
 * @param host - The grid host element (render root for DOM queries)
 */
export declare function clearStickyOffsets(host: HTMLElement): void;
//# sourceMappingURL=pinned-columns.d.ts.map