import React from 'react';
import { FiltersMap } from '@wix/bex-core';
import { GridPresetProps } from './Grid.types';
import { GridState, LayoutType } from '../../state';
import { BulkActionToolbarRenderProp } from '../BulkAction';
import { GridItemBaseProps } from './GridItemBaseProps';
import { ToolbarCollectionBaseProps } from '../ToolbarCollection';
import type { GridSectionsContent } from '../GridSections/GridSectionsContent';
import type { Section } from '../CollectionSectionHeader';
import { GridDragAndDrop } from '../GridDragAndDropDndKit/GridDragAndDrop';
interface GridBaseProps<T, F extends FiltersMap> extends Omit<ToolbarCollectionBaseProps<T, F>, 'sticky' | 'maxSelection'>, GridItemBaseProps<T, F> {
    dataHook?: string;
    /**
     * Adds functionality to allow visitors to reorder items manually.
     * For more information, see the [Drag and Drop Overview](./?path=/story/features-sort-drag-and-drop--overview).
     * @overrideType [GridDragAndDrop](./?path=/story/features-sort-drag-and-drop--griddraganddrop)
     * @external
     */
    dragAndDrop?: typeof GridDragAndDrop;
    /**
     * Grid state instance created using [`useGridCollection`](./?path=/story/base-components-collections-grid-usegridcollection--usegridcollection).
     * @overrideType [GridState](./?path=/story/base-components-collections-grid-gridstate--gridstate)
     * @external
     */
    state: GridState<T, F>;
    /**
     * A toolbar for performing bulk actions on multiple items.<br> <br>
     * Supported parameters: <br>
     * -`selectedValues`: [array] Items that are checked in the selection column. <br>
     * -`uncheckedValues`: [array] Items that are unchecked in the selection column. <br>
     * -`isSelectAll`: [bool] Whether **Select All** is checked. <br>
     * -`openModal`: [func] Opens a modal that contains the component from `bulkActionModal` render prop. <br>
     * -`clearSelection`: [func] Clears all selections. Call this after the action on the selected items finishes. <br>
     * -`total`: [number] Total number of items in the server. <br>
     * -`openConfirmModal`: [func] Opens a `<MessageModalLayout>` to confirm an action is about to be applied to the selected items. <br>
     * -`query`: [object] Current paging, sorting, and filtering. Often used together with bulk actions, such as `updateAll`. <br>
     * @external
     */
    bulkActionToolbar?: BulkActionToolbarRenderProp<T, F>;
    /**
     * Creates [grid sections](./?path=/story/features-display-grid-sections--grid-sections) that group data based on the values of a specific field.
     * @external
     * @overrideType [SectionsProp](./?path=/story/common-types--sectionsprop)
     */
    sections?: {
        GridSections: typeof GridSectionsContent;
        renderSection?: (item: T) => Section;
    };
    layoutType?: LayoutType;
}
export type GridBasePropsWithoutPreset<T, F extends FiltersMap> = Omit<GridBaseProps<T, F>, 'preset' | 'renderItem'>;
export type GridProps<T, F extends FiltersMap> = GridPresetProps<T, GridBasePropsWithoutPreset<T, F>>;
declare function _Grid<T, F extends FiltersMap = FiltersMap>(props: GridProps<T, F>): React.JSX.Element;
export declare const Grid: typeof _Grid & {
    displayName: string;
};
export {};
//# sourceMappingURL=Grid.d.ts.map