import React, { ContextType, ReactNode } from 'react';
import { Crosswalk, AttributeType, AttributeError, Mode, Metadata, ComplexAttributeValue } from '@reltio/mdm-sdk';
import { ScrollToElementContext } from '../contexts/ScrollToElementContext';
import { AdditionalControlsRenderer } from '../types';
export type EditModeComplexAttributeProps<T> = {
    label?: string;
    attributeTypesList?: AttributeType[];
    attributeType: AttributeType;
    attributeValue: T;
    errors?: AttributeError[];
    ownError?: AttributeError;
    mode: Mode;
    metadata: Metadata;
    crosswalks?: Crosswalk[];
    lazy?: boolean;
    showEmptyEditors?: boolean;
    onAddOneMore?: () => void;
    onAddAttributes: (attribute: {
        parentUri: string;
        attributeType: AttributeType;
        index?: number;
    }[]) => void;
    onDeleteAttribute: (attribute: {
        uri: string;
        attributeType: AttributeType;
        attributeValue: T;
    }) => void;
    onChangeAttribute: (attribute: {
        uri: string;
        attributeType: AttributeType;
        value: T;
    }) => void;
    additionalControlsRenderer: (props: AdditionalControlsRenderer<ComplexAttributeValue>) => ReactNode;
    hideDeleteButton?: boolean;
    state?: 'deleted' | 'edited';
    showNonOv?: boolean;
    isHighlightedPath?: boolean;
    highlightedError?: ContextType<typeof ScrollToElementContext>;
    expanded?: boolean;
    children?: ReactNode;
};
declare const _default: React.ComponentType<EditModeComplexAttributeProps<ComplexAttributeValue>>;
export default _default;
