import { ColumnRole, ClassSchema, NumericParse, SampleClassKind } from '../../types/auto-group'; /** Roles the Field Recipe offers as grouping fields. `replicate` and `id` are off by default. */ export declare const GROUPING_FIELD_ROLES: ReadonlySet; export declare function parseNumeric(token: string): NumericParse | null; export interface InferRoleInput { values: string[]; position: number; totalPositions: number; classSize: number; /** The column ends a name or a split token, where replicate counters sit. Defaults to the last position. */ tail?: boolean; } export declare function inferRole(input: InferRoleInput): ColumnRole; export interface ColumnSplit { rows: string[][]; /** `origin[newIndex]` = index of the source column before the split. */ origin: number[]; /** New indices that end a split token. */ tail: number[]; } /** Split the columns of one class (rows of equal length) that hold two fields in one token. */ export declare function splitColumns(rows: string[][]): ColumnSplit; export declare function buildClassSchema(tokenizedMembers: string[][], classKind: SampleClassKind, subKind: string | undefined, classTagPositions: number[], /** Positions that end a split token (from `splitColumns`). */ tailPositions?: number[]): ClassSchema;