export default TimeTable;
declare class TimeTable extends React.PureComponent<any, any, any> {
    static displayName: string;
    static propTypes: {
        /** Hook for testing purposes. */
        dataHook: PropTypes.Requireable<string>;
        /**
         * Event triggered on column data change:
         * `onChange(columns, { addedToColumnIndex, removedFromColumnIndex, addedItemIndex, removedItemIndex })`
         */
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * Column data configuration. Item content is provided as a simple node or a
         * render function with `content` property. When render function is used the
         * signature is:
         * `({ Item, draggable, disabled }) => {}`:
         * - `Item` - component used to provide default item visual representation.
         * You should render `<Item draggable={draggable} disabled={disabled}>...</Item>`
         * - `draggable` - item is draggable.
         * - `disabled` - item is disabled.
         */
        columns: PropTypes.Requireable<(PropTypes.InferProps<{
            title: PropTypes.Validator<string>;
            subtitle: PropTypes.Validator<string>;
            actions: PropTypes.Requireable<(PropTypes.InferProps<{
                onClick: PropTypes.Requireable<(...args: any[]) => any>;
                prefixIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
                label: PropTypes.Requireable<string>;
            }> | null | undefined)[]>;
            items: PropTypes.Validator<(PropTypes.InferProps<{
                content: PropTypes.Validator<NonNullable<NonNullable<((...args: any[]) => any) | PropTypes.ReactNodeLike>>>;
                draggable: PropTypes.Requireable<boolean>;
                disabled: PropTypes.Requireable<boolean>;
            }> | null | undefined)[]>;
            disabled: PropTypes.Requireable<boolean>;
            droppable: PropTypes.Requireable<boolean>;
            active: PropTypes.Requireable<boolean>;
        }> | null | undefined)[]>;
        /**
         * Event triggered on add button click: `onAdd(columnIndex)`.
         * When not provided the button will be hidden.
         */
        onAdd: PropTypes.Requireable<(...args: any[]) => any>;
        /** Title of add button. */
        addItemButtonLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        /**
         * Position where dragged items will be inserted. Using `any` value will
         * allow the items to be re-ordered within the same column.
         */
        insertPosition: PropTypes.Requireable<string>;
        /** Custom table height. */
        height: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
    };
    static defaultProps: {
        columns: never[];
        insertPosition: string;
        height: string;
    };
    static getDerivedStateFromProps(nextProps: any, prevState: any): any;
    constructor(props: any);
    constructor(props: any, context: any);
    state: {
        hoveredColumnIndex: null;
        dragging: boolean;
        columns: never[];
        sortableListBaseItems: never[];
        groupName: string;
    };
    _renderHeader: () => React.JSX.Element;
    _renderContent: () => React.JSX.Element;
    render(): React.JSX.Element;
    _renderItem: ({ isPlaceholder, previewStyles, item: { content, disabled, draggable }, }: {
        isPlaceholder: any;
        previewStyles: any;
        item: {
            content: any;
            disabled: any;
            draggable: any;
        };
    }) => React.JSX.Element;
    _renderActions: (columnIndex: any) => React.JSX.Element | null;
    _renderAddItemButton: (columnIndex: any) => React.JSX.Element;
    _handleDrop: ({ addedIndex: addedItemIndex, removedIndex: removedItemIndex, addedToContainerId, removedFromContainerId, }: {
        addedIndex: any;
        removedIndex: any;
        addedToContainerId: any;
        removedFromContainerId: any;
    }) => void;
    _handleMouseEnter: (columnIndex: any) => void;
    _handleMouseLeave: () => void;
    _handleDragStart: () => void;
    _handleDragEnd: () => void;
    _handleCanDrag: ({ item }: {
        item: any;
    }) => boolean;
}
import React from 'react';
import PropTypes from 'prop-types';
//# sourceMappingURL=TimeTable.d.ts.map