import React, { ReactElement } from 'react';
import { FiltersMap } from '@wix/bex-core';
import { RowItem, TableFoldersState } from '../../state';
import { ActionCell } from '../ActionCell';
import { PartialAllFilters } from '../../state/FoldersAndItemsCollectionsState';
import { CollectionTableWSRTableBaseProps } from '../CollectionTable/CollectionTableWSRTable';
import { TableFoldersColumn } from './TableFolders.types';
import { MultiCollectionBulkActionModalRenderProps, MultiCollectionBulkActionToolbarRenderProps } from '../BulkAction';
import { CollectionTableActionCellProps } from '../CollectionTable/CollectionTableBaseCommonProps';
type TableFolderWSRTableBaseProps<T1, F1 extends FiltersMap, T2, F2 extends FiltersMap> = CollectionTableWSRTableBaseProps<RowItem<T1, T2>, T1, PartialAllFilters<F1, F2>>;
export interface TableFoldersContentProps<T1, F1 extends FiltersMap, T2, F2 extends FiltersMap> extends Omit<TableFolderWSRTableBaseProps<T1, F1, T2, F2>, 'actionCell' | 'sticky' | 'topNotification' | 'selectionDisabled'>, CollectionTableActionCellProps<T1, F1> {
    dataHook?: string;
    /** A TableFoldersState instance created using [useTableFolders](./?path=/story/base-components-collections-tablefolders-usetablefolders--usetablefolders). */
    state: TableFoldersState<T1, F1, T2, F2>;
    /** The same as [Table.columns](./?path=/story/base-components-collections-table-table--table), with the addition of `renderFolder` property. */
    columns: TableFoldersColumn<T1, T2>[];
    /** Specific entry for rendering the item icon, defaults to simple `Avatar` (for folders a `Folder` icon is rendered). */
    iconColumn?: TableFoldersColumn<T1, T2>;
    onRowClick?: (item: T1, index: number) => void;
    /** Callback for folder row click  */
    onFolderRowClick?: (item: T2, index: number) => void;
    /** Disables row checkbox */
    selectionDisabled?: (item: T1 | T2) => void;
    folderActionCell?: ActionCell<T2, F2>;
    topNotification?: ReactElement;
    /**
     * A toolbar for performing bulk actions on multiple items.
     * Supported parameters:
     *  + `selectedValues`: Selected item values.
     *  + `uncheckedValues`: Unselected item values.
     *  + `isSelectAll`: [bool] Whether the **Select All** option is selected.
     *  + `openModal`: Opens a modal that contains the component from `bulkActionModal` render prop.
     *  + `clearSelection`: Clears all selections. Call this after the action on the selected items finishes.
     *  + `closeModal`: Closes the modal.
     *  + `openConfirmModal`: Opens a `<MessageModalLayout />` to confirm an action to be applied to the selected items.
     *  + `query`: [object] Instance of [ComputedQuery](./?path=/story/common-types--computedquery) that represents the query that resulted in an empty state. Representation of the current paging, sorting and filtering applied. Usually for using together with bulk action such as `updateAll` and `deleteAll`.
     * @external
     */
    bulkActionToolbar?: MultiCollectionBulkActionToolbarRenderProps;
    /**
     * Render a modal to be opened from `bulkActionToolbar`.<br>
     * The function accepts the following parameters
     *   * `allSelected`: Indicates whether the "Select All" checkbox is checked
     *   * `closeModal`: Closes the a modal
     */
    bulkActionModal?: MultiCollectionBulkActionModalRenderProps;
}
declare function _TableFoldersContent<T1, F1 extends FiltersMap, T2, F2 extends FiltersMap>(props: TableFoldersContentProps<T1, F1, T2, F2>): React.JSX.Element;
export declare const TableFoldersContent: typeof _TableFoldersContent & {
    displayName: string;
};
export {};
//# sourceMappingURL=TableFoldersContent.d.ts.map