import { ButtonProps } from '@alifd/next/types/button';
import { propsType as balloonIconPropsType } from '../balloon/balloonIcon';
import React from 'react';
import Item from './item';
export interface attributesItem {
    /** 名称 */
    name: any;
    /** 内容 */
    value: any;
    /** 自定义按钮配置 */
    buttons?: {
        value?: React.ReactNode;
        onClick: Function;
    }[];
    /** 自定义内容 */
    custom?: any;
    /**是否显示开关switch 开关默认值 */
    switchDefault?: boolean;
    /** 是否显示编辑按钮 */
    editable?: boolean;
    /** 是否显示复制按钮 */
    copyable?: boolean;
    /**	是否以密码的形式展示 */
    password?: boolean;
    /** tips */
    tips?: string | balloonIconPropsType;
    /** 固定title宽度，超出显示省略号 */
    titleMinWidth: number;
    /** 超出显示全部 */
    showAll?: boolean;
    /** value超出多少行后显示省略号和气泡 */
    maxLine?: number;
    /** 特殊字符例如【.】转化函数 */
    convertDataFunc?: Function;
    /** 配合source属性使用指定key值 */
    dataIndex?: string;
}
interface propTypes {
    /**  组件名称 */
    title?: React.ReactNode;
    /**  组件状态区域，显示在名称后面 */
    status: React.ReactNode;
    /**  信息 */
    attributes: attributesItem[];
    /** 数据源 */
    dataSource: any[];
    /** 按钮 多个时，要带上key属性*/
    buttons: ButtonProps[];
    /** 一行展示几列  */
    colsPerRow: string | number;
    /** 国际化文案 */
    locale: {
        hide?: string;
        copy?: string;
        show?: string;
        edit?: string;
        finish?: string;
        copySuccess?: string;
    };
    /** 额外内容 */
    extra: React.ReactNode;
    /** 右侧额外内容 */
    rightExtra: React.ReactNode;
    /**  组件样式 */
    style: object;
    /**  组件类名 */
    className: string;
    /** 按钮的点击事件 */
    onClick: Function;
    /** 开关的改变事件 */
    onChange: Function;
    /** 编辑的完成事件 */
    finishEditFunc: Function;
    /** 是否显示左右边距 */
    isNest: boolean;
    /** nest */
    nest: boolean;
    /** 是否显示title后的冒号 */
    needTitleColon: boolean;
}
interface defaultType {
    descToggle: boolean;
    needTitleColon: boolean;
}
declare class Info extends React.Component<propTypes> {
    static defaultProps: defaultType;
    static Item: typeof Item;
    render(): JSX.Element;
}
export default Info;
