import { Descriptor, Field, FieldType, ComputedFieldRef, MappingFieldRef, AttributeExpression, ComputedFieldExpression, Expression } from '../../state/index.js'; export declare function getGroups(descriptor: Descriptor): Array; export declare function _groupIndexFinder(state: Descriptor, productId: string, name: string): number; export declare function _groupIndexSelector(state: Descriptor, productId: string, name: string): number; export declare function getFieldType(field: Field): FieldType; export declare function getFieldProductId(field: MappingFieldRef): string; export declare function getFieldAlias(field: MappingFieldRef): string; export declare function getFieldComputedFieldId(field: ComputedFieldRef): string; export declare const newMappingFieldRef: (from: string, on: string) => MappingFieldRef; /** field is MappingFieldRef := any time isMappingFieldRef is called with some Variable * TypeScript will narrow that variable to that specific type if the original type is compatible * https://www.typescriptlang.org/docs/handbook/advanced-types.html#using-type-predicates */ export declare function isMappingFieldRef(field: Field): field is MappingFieldRef; export declare const newComputedFieldRef: (computedFieldId: string) => ComputedFieldRef; export declare function isComputedFieldRef(field: Field): field is ComputedFieldRef; export declare const setFieldProductId: (field: MappingFieldRef, from: string) => MappingFieldRef; export declare const setFieldAlias: (field: MappingFieldRef, on: string) => MappingFieldRef; export declare const setFieldComputedFieldId: (field: ComputedFieldRef, computedFieldId: string) => ComputedFieldRef; export declare function expressionToField(expression: Expression): Field; export declare const fromAttributeExpression: (expression: AttributeExpression) => MappingFieldRef; export declare const fromComputedFieldExpression: (expression: ComputedFieldExpression) => ComputedFieldRef;