import React from 'react'; import { GantTableListOuterProps, GColumnProps } from '../table'; export declare enum Fields { Input = "Input", InputNumber = "InputNumber", InputUrl = "InputUrl", InputTelePhone = "InputTelePhone", InputCellPhone = "InputCellPhone", InputEmail = "InputEmail", InputLanguage = "InputLanguage", InputMoney = "InputMoney", TextArea = "TextArea", DatePicker = "DatePicker", Selector = "Selector", LocationSelector = "LocationSelector" } export interface CustomColumnProps extends GColumnProps { fieldName: string; title: string; props?: any; type?: string; fixed?: 'left' | 'right'; width?: number | string; align?: 'left' | 'center' | 'right'; componentType?: Fields; render?: (text: any, record: R, index: number) => React.ReactNode; children?: CustomColumnProps[]; } export interface ColumnConfig { fieldName: string; checked?: boolean; lock?: boolean; fixed?: 'left' | 'right'; width?: number | string; align?: 'left' | 'center' | 'right'; hidden?: boolean; } export interface PanelConfig { wrap?: boolean; isZebra?: boolean; bordered?: boolean; clickable?: boolean; footerDirection?: 'row' | 'row-reverse'; heightMode?: 'full' | 'auto'; pageSize?: number; columnFields: ColumnConfig[]; } export interface ViewConfig { viewId: string; name: string; version: string; panelConfig: PanelConfig; } export interface SchemaProp { supportColumnFields: CustomColumnProps[]; systemViews: ViewConfig[]; } export interface ViewListProps { systemViews: ViewConfig[]; customViews: ViewConfig[]; } export declare type GantTableProps = Omit>, 'columns'>; export interface SmartTableProps extends GantTableProps { searchTableCellResizable?: boolean; schema: SchemaProp | CustomColumnProps[]; viewSchema?: any; onViewChange?: (viewSchema: any) => void; bindKeys?: any; onReload?: () => void; bodyMinHeight?: number | string; bodyHeight?: number | string; bodyWidth?: number | string; pageIndex?: number; pageSize?: number; pageSizeOptions?: string[]; isGantPageMode?: boolean; onPageChange?: (pageIndex: number, pageSize?: number) => void; totalCount?: number; hasExport?: boolean; withoutAnimation?: boolean; } export interface SmartTableType { (props: SmartTableProps): React.ReactElement; setFields?: (field: Object) => void; } export declare enum langEnum { 'zh-CN' = "zh-CN", 'en-US' = "en-US" } export interface LocalWrapperProps extends SmartTableProps { locale?: any; i18n?: langEnum; }