import { BaseFormData } from './base-form-data'; /** * A base class outlining functionality for tracking changes to form collection items that can be added or deleted. */ export declare abstract class EditableCollectionItem extends BaseFormData { isNew: boolean; isMarkedForDeletion: boolean; /** * Initializes a new instance of the EditableCollectionItem class. * * @param [dataModel] - The data model used as a base to create the form model. * */ constructor(dataModel?: TDataModel); /** * Checks if this instance is the same as another instance. * * @param otherItem - The item to compare to. */ areTheSame(otherItem: EditableCollectionItem): boolean; /** * Determines if this instance is equal to the other item regardless of references. * * @param otherItem - The instance to compare to. NOTE: This will always have a value and will always be * an existing item. */ protected abstract areTheSameInternal(otherItem: EditableCollectionItem): boolean; /** * Initiailzes this instance when it's an empty item. */ protected abstract createModelForNew(): TDataModel; }