import { EqualFunc } from '@devexpress/utils/lib/types'; import { IMaskedProperties } from '../interfaces'; export interface IMergerPropertyDescriptor { setProp(props: TProps, newValue: T): any; getProp(props: TProps): T; maskValue(): TMask; readonly binaryEquals: EqualFunc; } export declare abstract class PropertiesMergerBase> { innerProperties: TMaskedProps; private descriptors; constructor(initialialProperties: TMaskedProps, descriptors: IMergerPropertyDescriptor[]); protected mergeInternal(properties: TMaskedProps, mask: TMask, setValue: () => void): void; protected mergeOnlyOwnInternal(properties: TMaskedProps, parentProperties: TMaskedProps, mask: TMask, setValue: () => void, equals: () => boolean): void; protected mergeTableProperties(descriptor: IMergerPropertyDescriptor, getValue: () => T): void; abstract getMergedProperties(): TProps; protected mergeAll(from: TMaskedProps): void; protected mergeOnlyOwnProperties(from: TMaskedProps, parent: TMaskedProps): void; }