import React, { ReactNode } from 'react';
import { ViewMode } from './enum';
import DataSet from '../data-set';
import { BoardProps, BoardCustomized } from './Board';
import Field from '../data-set/Field';
import { ColumnProps } from '../table/interface';
export declare const GROUPFIELD = "__GROUPFIELD__";
declare type ChildrenInfo = {
    hasAggregationColumn: boolean;
    isHideDisabled: boolean;
};
export declare function normalizeColumns(elements: ReactNode, tableAggregation?: boolean, customizedColumns?: {
    [key: string]: ColumnProps;
}, parent?: ColumnProps | null, defaultKey?: number[], columnSort?: {
    left: number;
    center: number;
    right: number;
}): [ColumnProps[], ColumnProps[], ColumnProps[], ChildrenInfo];
export interface BoardWithContextProps extends BoardProps {
    customizedDS: DataSet;
    setCustomized: (customized: BoardCustomized | undefined | null) => void;
}
export interface viewProps {
    viewId: string;
    viewName?: ReactNode;
    viewMode: ViewMode;
    groupField?: Field;
    viewProps?: object;
}
declare const _default: React.FunctionComponent<BoardWithContextProps>;
export default _default;
