import { ConfigModel } from '../models/config.model'; import { Field } from './field.model'; import { TransitionModel, FieldAction } from './transition.model'; import { ErrorInfo } from '../models/error.model'; export declare class MappedFieldParsingData { parsedName: string; parsedPath: string; parsedValue: string; parsedDocID: string; parsedDocURI: string; parsedIndex: string; fieldIsProperty: boolean; fieldIsConstant: boolean; parsedValueType: string; parsedActions: FieldAction[]; userCreated: boolean; } export declare class MappedField { parsedData: MappedFieldParsingData; field: Field; actions: FieldAction[]; isSource(): boolean; /** * Given a selection or de-selection of a component, update the appropriate field action. * * @param separateMode * @param combineMode * @param suggestedValue * @param isSource * @param compoundSelection * @param fieldRemoved */ updateSeparateOrCombineFieldAction(separateMode: boolean, combineMode: boolean, suggestedValue: string, isSource: boolean, compoundSelection: boolean, fieldRemoved: boolean): void; removeSeparateOrCombineAction(): void; /** * Return the field action index value of this mapped field in separate or combine mode. */ getSeparateOrCombineIndex(): string; removeAction(action: FieldAction): void; static sortMappedFieldsByPath(mappedFields: MappedField[], allowNone: boolean): MappedField[]; isMapped(): boolean; } export declare class FieldMappingPair { sourceFields: MappedField[]; targetFields: MappedField[]; transition: TransitionModel; constructor(); addField(field: Field, isSource: boolean): void; hasMappedField(isSource: boolean): boolean; isFullyMapped(): boolean; addMappedField(mappedField: MappedField, isSource: boolean): void; removeMappedField(mappedField: MappedField, isSource: boolean): void; getMappedFieldForField(field: Field, isSource: boolean): MappedField; getMappedFields(isSource: boolean): MappedField[]; getLastMappedField(isSource: boolean): MappedField; getFields(isSource: boolean): Field[]; getFieldNames(isSource: boolean): string[]; getFieldPaths(isSource: boolean): string[]; hasFieldActions(): boolean; getAllFields(): Field[]; getAllMappedFields(): MappedField[]; isFieldMapped(field: Field): boolean; hasTransition(): boolean; /** * Given an array of mapped fields, re-sequence the field action indices. An optional mapped field may be * specified to be inserted at a designated index. * * @param mappedFields * @param insertedMappedField - optional user-selected mapped field which was just dragged/dropped * @param inIndex - drop index location */ resequenceFieldActionIndices(mappedFields: MappedField[], insertedMappedField: MappedField, inIndex: string): number; /** * Normalize index fields for combine/ separate modes. * @param combineMode */ processIndices(combineMode: boolean): number; updateTransition(isSource: boolean, compoundSelection: boolean, fieldRemoved: boolean): void; } export declare class MappingModel { cfg: ConfigModel; uuid: string; fieldMappings: FieldMappingPair[]; currentFieldMapping: FieldMappingPair; validationErrors: ErrorInfo[]; brandNewMapping: boolean; constructor(); getFirstFieldMapping(): FieldMappingPair; getLastFieldMapping(): FieldMappingPair; getCurrentFieldMapping(): FieldMappingPair; addValidationError(message: string): void; clearValidationErrors(): void; getValidationErrors(): ErrorInfo[]; getValidationWarnings(): ErrorInfo[]; removeError(identifier: string): void; getFirstCollectionField(isSource: boolean): Field; isCollectionMode(): boolean; isLookupMode(): boolean; removeMappedPair(fieldPair: FieldMappingPair): void; getMappedFields(isSource: boolean): MappedField[]; isFieldSelectable(field: Field): boolean; /** * Walk all target field mappings and return true if the specified field is already the target * of a previous mapping, false otherwise. * * @param field */ isMappedTarget(field: Field): boolean; getFieldSelectionExclusionReason(field: Field): string; isFieldMapped(field: Field, isSource: boolean): boolean; getAllMappedFields(): MappedField[]; getAllFields(): Field[]; getFields(isSource: boolean): Field[]; hasMappedFields(isSource: boolean): boolean; hasFullyMappedPair(): boolean; }