import { type PathTableItem } from "@1771technologies/lytenyte-shared";
import type { Column, ColumnBase, ColumnGroupMeta } from "../../+types";
export interface MakeColumnViewArgs<T> {
    readonly columns: Column<T>[];
    readonly base: ColumnBase<T>;
    readonly groupExpansions: Record<string, boolean>;
    readonly groupJoinDelimiter: string;
    readonly groupExpansionDefault: boolean;
}
export interface MakeColumnViewReturn<T> {
    meta: ColumnGroupMeta;
    maxRow: number;
    maxCol: number;
    combinedView: PathTableItem<Column<T>>[][];
    visibleColumns: Column<T>[];
    lookup: Map<string, Column<T>>;
    startCount: number;
    endCount: number;
    centerCount: number;
}
export declare function makeColumnView<T>({ columns, base, groupExpansions, groupJoinDelimiter, groupExpansionDefault, }: MakeColumnViewArgs<T>): MakeColumnViewReturn<T>;
