import { Component, ReactNode, ReactElement, SyntheticEvent, HTMLAttributes, RefObject, ElementType } from 'react';
import { IProps as ReorderableListProps } from '@plesk/react-movable';
import { ContentRect } from 'react-measure';
import { CheckboxProps } from '../Checkbox';
import { Translator } from '../Translate';
import { PaginationProps } from '../Pagination';
import './List.less';
type RowKey = string;
type SortDirectionEnum = 'ASC' | 'DESC';
type EmptyViewEnum = 'all' | 'items';
type ListData = Record<string, any>;
type ListRowData<T extends ListData> = T & {
    /**
     * Unique column key. This property can by renamed using `rowKey` property of List.
     */
    key?: RowKey;
    /**
     * Optional property for disabling ability to select this row.
     */
    disabled?: boolean;
    /**
     * Optional array of children rows.
     */
    data?: ListRowData<T>[];
    /**
     * An optional property to change the appearance of this row.<br />
     *  `inactive, info, success, warning, danger`. (Since: 3.33.0)
     */
    intent?: 'inactive' | 'info' | 'success' | 'warning' | 'danger';
    virtual?: boolean;
    /**
     * @ignore
     */
    className?: string;
};
export type ListColumn<T extends ListData> = {
    /**
     * Unique column key.
     */
    key: string;
    /**
     * Column title.
     */
    title?: ReactNode;
    /**
     * Optional cell renderer function: row => Component. By default render value of cell.
     */
    render?: (row: ListRowData<T>, opts?: {
        parent?: ListRowData<T>;
    }) => ReactNode | {
        children: ReactNode;
    };
    /**
     * Is column sortable. Default is false
     */
    sortable?: boolean;
    /**
     * Optional function for row comparison: `(row1, row2) => -1 | 0 | 1`
     */
    sort?: (row1: ListRowData<T>, row2: ListRowData<T>) => -1 | 0 | 1;
    /**
     * Column alignment.
     */
    align?: 'left' | 'center' | 'right';
    /**
     * Truncate the text in cell with an ellipsis.
     */
    truncate?: boolean;
    /**
     * Determine type of column content.
     *
     * * title - There should a title of the row.
     * * controls - There should be some control: a button or a dropdown.
     * * actions - There should be the ListAction component.
     */
    type?: 'title' | 'controls' | 'actions';
    width?: number | string;
    /**
     * @ignore
     */
    className?: string;
};
type ListRealColumn<T extends ListData> = Omit<ListColumn<T>, 'type'> & {
    cellProps?: HTMLAttributes<HTMLTableCellElement>;
    type?: 'title' | 'controls' | 'actions' | 'internal';
} & Pick<HTMLAttributes<HTMLTableCellElement>, 'onClick' | 'style'>;
export interface ListProps<T extends ListData> {
    /**
     * Columns definition.
     *
     * In addition to the properties described below, you can use any native properties
     * supported by the `TH` element like `className`, `style`, etc.
     *
     * - key: string - Required - Unique column key.
     * - title: ReactNode - Column title.
     * - render: func - Optional cell renderer function: row => Component. By default render value of cell.
     * - sortable: boolean - Is column sortable. Default is false.
     * - sort: func - Optional function for row comparison: (row1, row2) => number.
     * - align: 'left' | 'center' | 'right' - Column alignment. Default is 'left'.
     * - truncate: boolean - Truncate the text in cell with an ellipsis. Default is false.
     * - type: 'title' | 'controls' | 'actions' - Determine type of column content.
     *      - title - There should a title of the row.
     *      - controls - There should be some control: a button or a dropdown.
     *      - actions - There should be the ListAction component.
     * - width: number | string - Column width. Default is auto.
     * @since 0.0.42
     */
    columns: ListColumn<T>[];
    /**
     * Array of row objects.
     *
     * Each row must contains `key` property, all columns keys, and can contain `disabled` property.
     * @since 0.0.42
     */
    data?: ListRowData<T>[];
    /**
     * Row's key getter. Could be a string or function like: `row => <unique_string>`
     * @since 0.0.45
     */
    rowKey?: string | ((row: ListRowData<T>) => RowKey);
    /**
     * Current sort column key
     * @since 0.0.42
     */
    sortColumn?: ListColumn<T>['key'];
    /**
     * Sort direction of the column being sorted.
     * @since 0.0.42
     */
    sortDirection?: SortDirectionEnum;
    /**
     * Sort change handler
     * @since 0.0.42
     */
    onSortChange?: (value: {
        sortColumn: ListColumn<T>['key'];
        sortDirection: SortDirectionEnum;
    }) => void;
    /**
     * Array of keys of selected rows
     * @since 0.0.42
     */
    selection?: any[];
    /**
     * Selection change handler for list. Checkboxes will only be rendered if this prop is defined.
     * @since 0.0.42
     */
    onSelectionChange?: (selection: any[]) => void;
    /**
     * Renderer for a selection checkbox. Allow to replace checkboxes in the List by a custom implementation.
     * @since 3.19.0
     */
    renderSelectionCheckbox?: (opt: CheckboxProps, row?: ListRowData<T>) => ReactNode;
    /**
     * Renderer for a row body. Should return ReactNode.
     * @since 1.12.0
     */
    renderRowBody?: (row: ListRowData<T>, opts: {
        index?: number;
        parent?: ListRowData<T>;
    }) => ReactNode;
    /**
     * Array of keys of expanded rows
     * @since 1.12.0
     */
    expandedRows?: any[];
    /**
     * Array of keys of rows which not have expand indicator
     * @since 1.12.0
     */
    notExpandableRows?: any[];
    /**
     * Rows expanding change handler.
     * @since 1.12.0
     */
    onExpandedRowsChange?: (args: any[]) => void;
    /**
     * Array of keys of loading rows. They are displayed instead of checkboxes.
     * @since 2.5.0
     */
    loadingRows?: any[];
    /**
     * A `Pagination` element. It displays at the top and the bottom of the list. When pagination is defined, the built-in sort is disabled.
     * @since 2.4.0
     */
    pagination?: ReactElement<PaginationProps>;
    /**
     * Total rows count, including nested rows. Usually, it uses together with pagination.
     * @since 2.4.0
     */
    totalRows?: number;
    /**
     * A `Toolbar` element.
     * @since 2.4.0
     */
    toolbar?: ReactElement;
    /**
     * A flag that all rows are selected.
     * @since 2.4.0
     */
    allRowsSelected?: boolean;
    /**
     * A callback executed when the allRowsSelected prop is changed.
     * @since 2.4.0
     */
    onAllRowsSelectedChange?: (arg: boolean) => void;
    /**
     * Filtered list. Manages toolbar visibility when data is absent and defines the defaults for empty view.
     * @since 3.0.1
     */
    filtered?: boolean;
    /**
     * A custom view for the case when data is absent.
     * @since 2.5.0
     */
    emptyView?: ReactElement;
    /**
     * Which part of the List component should be replaced by the empty view.
     * @since 2.6.0
     * @deprecated Use `filtered` instead.
     */
    emptyViewMode?: EmptyViewEnum;
    /**
     * A slot on the right of the items.
     * @since 2.6.0
     */
    sidebar?: ReactElement;
    /**
     * Custom localization messages.
     * @since 2.6.0
     */
    locale?: {
        selectAll?: Translator;
        deselectAll?: Translator;
        all?: Translator;
        totalRows?: Translator;
        selectedRows?: Translator;
    };
    /**
     * Render List row's content vertically.
     * When some number is specified, it turns into vertical mode automatically if the List's width is less than the provided number.
     * @since 3.3.0
     */
    vertical?: boolean | number;
    /**
     * Indicate the loading state of the list.
     * @since 3.3.1
     */
    loading?: boolean;
    /**
     * Apply some props to each row.
     *
     * `virtual` - Virtual row does not have any controls.
     *
     * @since 3.11.0
     */
    rowProps?: {
        virtual?: boolean;
    } | ((row: ListRowData<T>) => HTMLAttributes<HTMLTableRowElement> & {
        virtual?: boolean;
        [p: `data-${string}`]: any;
    });
    /**
     * Enable reorderable view.
     * @since 3.18.0
     */
    reorderable?: boolean;
    /**
     * Reorder end handler.
     * @since 3.18.0
     */
    onReorderEnd?: (value: {
        oldIndex: number;
        newIndex: number;
    }) => void;
    /**
     * @ignore
     */
    className?: string;
    /**
     * @ignore
     */
    baseClassName?: string;
}
type PartialReorderableList<T extends ListData> = ElementType<Omit<ReorderableListProps<{
    row: ListRowData<T>;
}>, 'voiceover' | 'transitionDuration' | 'removableByMove'>>;
type ListState<T extends ListData> = {
    sortInPlace: boolean;
    sortColumn?: ListColumn<T>['key'];
    sortDirection?: SortDirectionEnum;
    vertical: boolean;
    expandedRows: any[];
    selection: any[];
    ReorderableList?: PartialReorderableList<T>;
    reorderableItemWidths?: string[];
    prevExpandedRows?: any[];
    prevSelection?: any[];
    prevSortDirection?: SortDirectionEnum;
    prevSortColumn?: ListColumn<T>['key'];
    prevData?: T[];
    prevPagination: ReactNode;
};
/**
 * `List` component is used for displaying a collection of tabular data.
 * [More details about designing of lists.](#!/Sets%20of%20Objects)
 * @since 0.0.42
 */
declare class List<T extends ListData> extends Component<ListProps<T>, ListState<T>> {
    static defaultProps: {
        data: never[];
        sortColumn: undefined;
        sortDirection: SortDirectionEnum;
        onSortChange: undefined;
        onSelectionChange: undefined;
        selection: never[];
        renderSelectionCheckbox: undefined;
        rowKey: string;
        renderRowBody: undefined;
        expandedRows: never[];
        notExpandableRows: never[];
        onExpandedRowsChange: undefined;
        loadingRows: never[];
        className: string;
        baseClassName: string;
        pagination: undefined;
        totalRows: undefined;
        toolbar: undefined;
        allRowsSelected: boolean;
        onAllRowsSelectedChange: undefined;
        filtered: boolean;
        emptyView: undefined;
        emptyViewMode: EmptyViewEnum;
        sidebar: undefined;
        locale: undefined;
        vertical: number;
        loading: boolean;
        rowProps: undefined;
        reorderable: boolean;
        onReorderEnd: undefined;
    };
    state: ListState<T>;
    static getDerivedStateFromProps<T extends ListData>({ sortColumn, sortDirection, selection, expandedRows, notExpandableRows, renderRowBody, data, pagination, vertical, rowKey, totalRows, filtered, }: Readonly<ListProps<T>>, { prevSortColumn, prevSortDirection, prevData, prevSelection, prevPagination, prevExpandedRows, ...state }: ListState<T>): ListState<T>;
    componentDidMount(): void;
    componentDidUpdate(prevProps: ListProps<T>): void;
    needScroll: boolean;
    applyReorderableList(): void;
    anchorRef: RefObject<HTMLSpanElement>;
    getData(): ListRowData<T>[];
    sort(columnKey: ListColumn<T>['key']): void;
    flatData: (data: ListRowData<T>[]) => ListRowData<T>[];
    isRowSelected(row: ListRowData<T>): boolean;
    handleRowSelectionChange: (checked: boolean, rowKey: RowKey) => void;
    handleGlobalSelectionChange: (headerChecked: boolean) => void;
    handleResize: ({ bounds }: ContentRect) => void;
    setSelection(selection: RowKey[]): void;
    isRowLoading: (row: ListRowData<T>) => boolean;
    getRowTitle: (row: ListRowData<T>) => any;
    getRowProps: (row: ListRowData<T>) => {
        [x: `data-${string}`]: any;
        defaultChecked?: boolean | undefined;
        defaultValue?: string | number | readonly string[] | undefined;
        suppressContentEditableWarning?: boolean | undefined;
        suppressHydrationWarning?: boolean | undefined;
        accessKey?: string | undefined;
        autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
        autoFocus?: boolean | undefined;
        className?: string | undefined;
        contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
        contextMenu?: string | undefined;
        dir?: string | undefined;
        draggable?: (boolean | "true" | "false") | undefined;
        enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
        hidden?: boolean | undefined;
        id?: string | undefined;
        lang?: string | undefined;
        nonce?: string | undefined;
        slot?: string | undefined;
        spellCheck?: (boolean | "true" | "false") | undefined;
        style?: import("react").CSSProperties | undefined;
        tabIndex?: number | undefined;
        title?: string | undefined;
        translate?: "yes" | "no" | undefined;
        radioGroup?: string | undefined;
        role?: import("react").AriaRole | undefined;
        about?: string | undefined;
        content?: string | undefined;
        datatype?: string | undefined;
        inlist?: any;
        prefix?: string | undefined;
        property?: string | undefined;
        rel?: string | undefined;
        resource?: string | undefined;
        rev?: string | undefined;
        typeof?: string | undefined;
        vocab?: string | undefined;
        autoCorrect?: string | undefined;
        autoSave?: string | undefined;
        color?: string | undefined;
        itemProp?: string | undefined;
        itemScope?: boolean | undefined;
        itemType?: string | undefined;
        itemID?: string | undefined;
        itemRef?: string | undefined;
        results?: number | undefined;
        security?: string | undefined;
        unselectable?: "on" | "off" | undefined;
        inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
        is?: string | undefined;
        "aria-activedescendant"?: string | undefined;
        "aria-atomic"?: (boolean | "true" | "false") | undefined;
        "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
        "aria-braillelabel"?: string | undefined;
        "aria-brailleroledescription"?: string | undefined;
        "aria-busy"?: (boolean | "true" | "false") | undefined;
        "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
        "aria-colcount"?: number | undefined;
        "aria-colindex"?: number | undefined;
        "aria-colindextext"?: string | undefined;
        "aria-colspan"?: number | undefined;
        "aria-controls"?: string | undefined;
        "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
        "aria-describedby"?: string | undefined;
        "aria-description"?: string | undefined;
        "aria-details"?: string | undefined;
        "aria-disabled"?: (boolean | "true" | "false") | undefined;
        "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
        "aria-errormessage"?: string | undefined;
        "aria-expanded"?: (boolean | "true" | "false") | undefined;
        "aria-flowto"?: string | undefined;
        "aria-grabbed"?: (boolean | "true" | "false") | undefined;
        "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
        "aria-hidden"?: (boolean | "true" | "false") | undefined;
        "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
        "aria-keyshortcuts"?: string | undefined;
        "aria-label"?: string | undefined;
        "aria-labelledby"?: string | undefined;
        "aria-level"?: number | undefined;
        "aria-live"?: "off" | "assertive" | "polite" | undefined;
        "aria-modal"?: (boolean | "true" | "false") | undefined;
        "aria-multiline"?: (boolean | "true" | "false") | undefined;
        "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
        "aria-orientation"?: "horizontal" | "vertical" | undefined;
        "aria-owns"?: string | undefined;
        "aria-placeholder"?: string | undefined;
        "aria-posinset"?: number | undefined;
        "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
        "aria-readonly"?: (boolean | "true" | "false") | undefined;
        "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
        "aria-required"?: (boolean | "true" | "false") | undefined;
        "aria-roledescription"?: string | undefined;
        "aria-rowcount"?: number | undefined;
        "aria-rowindex"?: number | undefined;
        "aria-rowindextext"?: string | undefined;
        "aria-rowspan"?: number | undefined;
        "aria-selected"?: (boolean | "true" | "false") | undefined;
        "aria-setsize"?: number | undefined;
        "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
        "aria-valuemax"?: number | undefined;
        "aria-valuemin"?: number | undefined;
        "aria-valuenow"?: number | undefined;
        "aria-valuetext"?: string | undefined;
        children?: ReactNode | undefined;
        dangerouslySetInnerHTML?: {
            __html: string | TrustedHTML;
        } | undefined;
        onCopy?: import("react").ClipboardEventHandler<HTMLTableRowElement> | undefined;
        onCopyCapture?: import("react").ClipboardEventHandler<HTMLTableRowElement> | undefined;
        onCut?: import("react").ClipboardEventHandler<HTMLTableRowElement> | undefined;
        onCutCapture?: import("react").ClipboardEventHandler<HTMLTableRowElement> | undefined;
        onPaste?: import("react").ClipboardEventHandler<HTMLTableRowElement> | undefined;
        onPasteCapture?: import("react").ClipboardEventHandler<HTMLTableRowElement> | undefined;
        onCompositionEnd?: import("react").CompositionEventHandler<HTMLTableRowElement> | undefined;
        onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLTableRowElement> | undefined;
        onCompositionStart?: import("react").CompositionEventHandler<HTMLTableRowElement> | undefined;
        onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLTableRowElement> | undefined;
        onCompositionUpdate?: import("react").CompositionEventHandler<HTMLTableRowElement> | undefined;
        onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLTableRowElement> | undefined;
        onFocus?: import("react").FocusEventHandler<HTMLTableRowElement> | undefined;
        onFocusCapture?: import("react").FocusEventHandler<HTMLTableRowElement> | undefined;
        onBlur?: import("react").FocusEventHandler<HTMLTableRowElement> | undefined;
        onBlurCapture?: import("react").FocusEventHandler<HTMLTableRowElement> | undefined;
        onChange?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onChangeCapture?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onBeforeInput?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onBeforeInputCapture?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onInput?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onInputCapture?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onReset?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onResetCapture?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onSubmit?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onSubmitCapture?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onInvalid?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onInvalidCapture?: import("react").FormEventHandler<HTMLTableRowElement> | undefined;
        onLoad?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onLoadCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onError?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onErrorCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onKeyDown?: import("react").KeyboardEventHandler<HTMLTableRowElement> | undefined;
        onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLTableRowElement> | undefined;
        onKeyPress?: import("react").KeyboardEventHandler<HTMLTableRowElement> | undefined;
        onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLTableRowElement> | undefined;
        onKeyUp?: import("react").KeyboardEventHandler<HTMLTableRowElement> | undefined;
        onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLTableRowElement> | undefined;
        onAbort?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onAbortCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onCanPlay?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onCanPlayCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onCanPlayThrough?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onDurationChange?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onDurationChangeCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onEmptied?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onEmptiedCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onEncrypted?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onEncryptedCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onEnded?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onEndedCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onLoadedData?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onLoadedDataCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onLoadedMetadata?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onLoadStart?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onLoadStartCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onPause?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onPauseCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onPlay?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onPlayCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onPlaying?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onPlayingCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onProgress?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onProgressCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onRateChange?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onRateChangeCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onResize?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onResizeCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onSeeked?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onSeekedCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onSeeking?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onSeekingCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onStalled?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onStalledCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onSuspend?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onSuspendCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onTimeUpdate?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onVolumeChange?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onWaiting?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onWaitingCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onAuxClick?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onAuxClickCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onClick?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onClickCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onContextMenu?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onContextMenuCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onDoubleClick?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onDoubleClickCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onDrag?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragEnd?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragEndCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragEnter?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragEnterCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragExit?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragExitCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragLeave?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragLeaveCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragOver?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragOverCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragStart?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDragStartCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDrop?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onDropCapture?: import("react").DragEventHandler<HTMLTableRowElement> | undefined;
        onMouseDown?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseDownCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseEnter?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseLeave?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseMove?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseMoveCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseOut?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseOutCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseOver?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseOverCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseUp?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onMouseUpCapture?: import("react").MouseEventHandler<HTMLTableRowElement> | undefined;
        onSelect?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onSelectCapture?: import("react").ReactEventHandler<HTMLTableRowElement> | undefined;
        onTouchCancel?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onTouchCancelCapture?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onTouchEnd?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onTouchEndCapture?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onTouchMove?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onTouchMoveCapture?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onTouchStart?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onTouchStartCapture?: import("react").TouchEventHandler<HTMLTableRowElement> | undefined;
        onPointerDown?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerDownCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerMove?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerMoveCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerUp?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerUpCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerCancel?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerCancelCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerEnter?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerLeave?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerOver?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerOverCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerOut?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onPointerOutCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onGotPointerCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onLostPointerCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLTableRowElement> | undefined;
        onScroll?: import("react").UIEventHandler<HTMLTableRowElement> | undefined;
        onScrollCapture?: import("react").UIEventHandler<HTMLTableRowElement> | undefined;
        onWheel?: import("react").WheelEventHandler<HTMLTableRowElement> | undefined;
        onWheelCapture?: import("react").WheelEventHandler<HTMLTableRowElement> | undefined;
        onAnimationStart?: import("react").AnimationEventHandler<HTMLTableRowElement> | undefined;
        onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLTableRowElement> | undefined;
        onAnimationEnd?: import("react").AnimationEventHandler<HTMLTableRowElement> | undefined;
        onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLTableRowElement> | undefined;
        onAnimationIteration?: import("react").AnimationEventHandler<HTMLTableRowElement> | undefined;
        onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLTableRowElement> | undefined;
        onTransitionEnd?: import("react").TransitionEventHandler<HTMLTableRowElement> | undefined;
        onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLTableRowElement> | undefined;
        virtual?: boolean;
    };
    isRowExpanded(row: ListRowData<T>): boolean;
    isRowExpandable(row: ListRowData<T>): boolean;
    isAllRowsChecked: import("memoize-one").MemoizedFn<(this: any, rows: any, selectedKeys: any) => boolean>;
    isAnyRowsExpanded: import("memoize-one").MemoizedFn<(this: any, rows: any, expandedRows: any) => boolean>;
    handleRowExpandingChange(row: ListRowData<T>): void;
    handleGlobalExpandingChange: () => void;
    createRowClickHandler: (row: ListRowData<T>) => (e: SyntheticEvent<HTMLElement, MouseEvent>) => void;
    setExpandedRows(expandedRows: RowKey[]): void;
    renderRow({ row, index, hasTitle, realColumn, parent, isDragged, reorderableProps, }: {
        row: ListRowData<T>;
        hasTitle: boolean;
        realColumn: ListRealColumn<T>[];
        index?: number;
        parent?: ListRowData<T>;
        isDragged?: boolean;
        reorderableProps?: any;
    }): import("react/jsx-runtime").JSX.Element;
    renderRowBody({ row, index, realColumn, parent, }: {
        row: ListRowData<T>;
        index?: number;
        realColumn: ListRealColumn<T>[];
        parent?: ListRowData<T>;
    }): import("react/jsx-runtime").JSX.Element | null;
    renderSelectAllButton(): import("react/jsx-runtime").JSX.Element | null;
    renderDeselectAllButton(): import("react/jsx-runtime").JSX.Element | null;
    renderToolbar(): import("react/jsx-runtime").JSX.Element | null;
    shouldBePagination(): boolean;
    renderHeader(): import("react/jsx-runtime").JSX.Element | null;
    renderEmptyView(): import("react/jsx-runtime").JSX.Element;
    renderPagination(placement: 'header' | 'footer'): ReactElement<PaginationProps, string | import("react").JSXElementConstructor<any>> | null;
    render(): import("react/jsx-runtime").JSX.Element;
}
export default List;
