import type { ColumnDataMap } from "./view-reader"; export interface SplitGroup { /** * Composite prefix (e.g., "East", "East|Enterprise" for multi-level). */ prefix: string; /** * Map of base column name → full Arrow column name ("prefix|base"). */ colNames: Map; } /** * Group Arrow column names by their split prefix (everything before the * last "|"). A split exists for a prefix only when every `requiredBases` * entry has a non-empty column present for that prefix. `optionalBases` * are included when present but do not gate group inclusion. * * Empty/falsy entries in either base list are skipped. */ export declare function buildSplitGroups(columns: ColumnDataMap, requiredBases: string[], optionalBases?: string[]): SplitGroup[];