import { ColumnConfig } from '../../core/types';
import { AggregationRowConfig, PinnedRowsConfig, PinnedRowsContext } from './types';
/**
 * Creates the info bar DOM element with all configured panels.
 *
 * @param config - The status bar configuration
 * @param context - The current grid context for rendering
 * @returns The complete info bar element
 */
export declare function createInfoBarElement(config: PinnedRowsConfig, context: PinnedRowsContext): HTMLElement;
/**
 * Creates a container for aggregation rows at top or bottom.
 *
 * @param position - 'top' or 'bottom'
 * @returns The container element
 */
export declare function createAggregationContainer(position: 'top' | 'bottom'): HTMLElement;
/**
 * Renders aggregation rows into a container.
 *
 * @param container - The container to render into
 * @param rows - Aggregation row configurations
 * @param columns - Current column configuration
 * @param dataRows - Current row data for aggregation calculations
 */
export declare function renderAggregationRows(container: HTMLElement, rows: AggregationRowConfig[], columns: ColumnConfig[], dataRows: unknown[]): void;
/**
 * Builds the status bar context from grid state and plugin states.
 *
 * @param rows - Current row data
 * @param columns - Current column configuration
 * @param grid - Grid element reference
 * @param selectionState - Optional selection plugin state
 * @param filterState - Optional filtering plugin state
 * @returns The status bar context
 */
export declare function buildContext(rows: unknown[], columns: unknown[], grid: HTMLElement, selectionState?: {
    selected: Set<number>;
} | null, filterState?: {
    cachedResult: unknown[] | null;
} | null): PinnedRowsContext;
export declare const createPinnedRowsElement: typeof createInfoBarElement;
//# sourceMappingURL=pinned-rows.d.ts.map