/**
 * Copyright 2023 Kapeta Inc.
 * SPDX-License-Identifier: MIT
 */
import React from 'react';
import './Detail.less';
export declare enum DetailSize {
    SMALL = "small",
    FULL = "full"
}
type Data = {
    [key: string]: any;
};
interface DetailProps {
    children: any;
    size?: DetailSize;
    editable?: boolean;
    data: Data;
    onChange?: (name: string, value: any, data: Data) => any;
}
export declare const Detail: (props: DetailProps) => React.JSX.Element;
declare enum RowType {
    CUSTOM = "custom",
    SIMPLE = "simple",
    LIST = "list"
}
interface DetailRowProps {
    label: string;
    name?: string;
    children: any;
    rowType?: RowType;
}
export declare const DetailRow: (props: DetailRowProps) => React.JSX.Element;
interface DetailRowValueProps {
    name: string;
    label: string;
    fixed?: boolean;
    validation?: any;
}
export declare const DetailRowValue: (props: DetailRowValueProps) => React.JSX.Element;
interface DetailRowListValueEntryProps {
    name: string;
    typeName: string;
    validation?: any;
    originalValue: any;
    entryValue: any;
    index: number;
    processing: boolean;
    editable: boolean;
    onCancel: () => void;
}
export declare const DetailRowListValueEntry: (props: DetailRowListValueEntryProps) => React.JSX.Element;
interface DetailRowListValueProps extends DetailRowValueProps {
    typeName: string;
}
export declare const DetailRowListValue: (props: DetailRowListValueProps) => React.JSX.Element;
interface DetailButtonsProps {
    children: any;
}
export declare const DetailButtons: (props: DetailButtonsProps) => React.JSX.Element;
export {};
