import type { ColumnType, TableProps } from '../table';
import React from 'react';
export declare type UFXSCMCloudDomainSharedFieldAuthorityTypeEnum = 0 | 1;
declare type TroleFiledKeys = {
    key: string;
    type: UFXSCMCloudDomainSharedFieldAuthorityTypeEnum;
};
declare type TDecimalType = 'amount' | 'price' | 'number';
export interface ILmEditTable extends TableProps<any> {
    value: TableProps<any>['dataSource'];
    isEdit?: boolean;
    isAdd?: boolean;
    rowKey?: string;
    disabled?: boolean;
    rowHoverEdit?: boolean;
    isUseForm?: boolean;
    isHoverEdit?: boolean;
    useQuickOpetate?: boolean | string[];
    quickOpetateClearAll?: boolean;
    sortOpen?: boolean;
    size?: TableProps<any>['size'];
    colSortOpen?: boolean;
    indexCol?: boolean | Record<string, any>;
    autoSizer?: boolean;
    filterChange?: (data: TableProps<any>['columns']) => void;
    recordCreatorProps?: {
        creatorButtonText?: string;
        style?: Record<string, any>;
        initData?: Record<string, any> | (() => Record<string, any>);
        customAddClick?: () => void;
    };
    /** 是否为强制更新 */
    shouldUpdate?: boolean;
    rowSelection?: TableProps<any>['rowSelection'] & {
        selectedRows?: Record<string, any>;
    };
    rowDisabled?: {
        disabledRows?: Record<string, any>;
    };
    initialiZindex?: number;
    emptyProps?: any;
    copyFormat?: (dataSource: TableProps<any>['dataSource'], options: {
        key?: string;
        value?: string;
        type?: 'up' | 'down';
        rowIndex?: number;
    }) => void;
    /** 敏感列keys */
    roleFiledKeys?: TroleFiledKeys[];
    resizable?: boolean;
    columnsValueDecimal?: Record<TDecimalType, number>;
}
export interface CountdownHandle {
    setRow: (data: any) => void;
    getCheckboxRecords: () => any[];
    clearSelect: () => void;
    customSetCheckboxRecords: (data: any[]) => void;
    deleteRowData: (record: string | Record<string, any>) => void;
    addRowData: (record: string | Record<string, any>, defaultValue?: Record<string, any> | Record<string, any>[], addInChild?: boolean | 'replace') => void;
    verify: () => Promise<any>;
}
interface ILmColumns extends ColumnType<any> {
    editable?: 'input' | 'number' | 'inputRange' | 'date' | 'select' | 'multiple' | 'checkbox' | 'radio' | 'switch' | 'upload' | 'operate' | 'lm_edit_opetate' | 'render';
    dataIndex?: string;
    itemProps?: Record<string, any>;
    editEnum?: any;
    valueType?: any;
    children?: ILmColumns[];
    order?: number;
    componentProps?: Record<string, any>;
    relevanceCols?: boolean;
    roleKey?: string;
    decimalType?: TDecimalType;
    formProps?: any;
}
export declare type TLmEditTable = {
    onChange?: (data: any[]) => void;
    columns: ILmColumns[];
    virtual?: boolean;
    onPaste?: (data: {
        event?: React.ClipboardEvent<HTMLDivElement>;
        type?: string;
        dataSource?: TableProps<any>['dataSource'];
        getColumnsByIndex: (index: number) => ILmColumns;
        rowIndex: number;
        colIndex: number;
        dataIndex: string;
    }) => void;
} & ILmEditTable;
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
    onChange?: (data: any[]) => void;
    columns: ILmColumns[];
    virtual?: boolean;
    onPaste?: (data: {
        event?: React.ClipboardEvent<HTMLDivElement>;
        type?: string;
        dataSource?: readonly any[];
        getColumnsByIndex: (index: number) => ILmColumns;
        rowIndex: number;
        colIndex: number;
        dataIndex: string;
    }) => void;
} & ILmEditTable & React.RefAttributes<CountdownHandle>>>;
export default _default;
