/**
 * Copyright 2023 Kapeta Inc.
 * SPDX-License-Identifier: MIT
 */
import { EntityDTO, EntityProperties, EntityProperty } from '@kapeta/schemas';
import React from 'react';
interface IDEntry {
    id: string;
    type: EntityProperty;
}
type IDList = IDEntry[];
type EntityMap = {
    [from: string]: MappedEntity;
};
interface EntityMapperProps {
    from: EntityProperties;
    fromEntities: EntityDTO[];
    to: EntityProperties;
    toEntities: EntityDTO[];
    onChange: (entityMap: EntityMap) => void;
}
declare enum MappedEntityType {
    AUTO = "AUTO"
}
interface MappedEntity {
    to: string;
    type?: MappedEntityType;
}
interface EntityMapperState {
    mapping: EntityMap;
}
export declare class EntityMapper extends React.Component<EntityMapperProps, EntityMapperState> {
    constructor(props: EntityMapperProps);
    toTargetFlatList(properties: EntityProperties, parentId?: string): IDList;
    toTargetLastListEntry(id: string, entry: EntityProperty, parentId?: string): IDList;
    renderObject(properties: EntityProperties, parentId?: string): React.JSX.Element;
    renderEntry(id: string, entry: EntityProperty): React.ReactNode;
    getMapping(id: string): string;
    updateMapping(id: string, value: string): void;
    render(): React.JSX.Element;
}
export {};
