import React from 'react';
import { FiltersMap } from '@wix/bex-core';
import { GridBasePropsWithoutPreset } from '../Grid';
import { TableProps } from '..';
import type { TableGridSwitchState } from '../../state/TableGridSwitchState';
import { GridPresetProps } from '../Grid/Grid.types';
import type { TableGridSwitchDragAndDrop } from './TableGridSwitchDragAndDrop';
import { GridSectionsContent } from '../GridSections/GridSectionsContent';
import type { Section } from '../CollectionSectionHeader';
import { TableSections } from '../TableSections';
export interface TableGridSwitchBaseProps<T, F extends FiltersMap> extends Omit<GridBasePropsWithoutPreset<T, F>, 'state' | 'dragAndDrop' | 'tableGridSwitchButton' | 'sticky' | 'sections'>, Omit<TableProps<T, F>, 'state' | 'dragAndDrop' | 'tableGridSwitchButton' | 'sticky' | 'sections'> {
    /**
     * A `TableGridSwitchState` instance created using [useTableGridSwitch](./?path=/story/base-components-collections-tablegridswitch-usetablegridswitchcollection--usetablegridswitchcollection).
     */
    state: TableGridSwitchState<T, F>;
    /**
     * 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 [TableGridSwitchDragAndDrop](./?path=/story/features-sort-drag-and-drop--tablegridswitchdraganddrop)
     * @external
     */
    dragAndDrop?: typeof TableGridSwitchDragAndDrop;
    /**
     * Configuration for rendering sections. When provided, the component will render with section headers
     * that group related rows together for both Grid and Table views.
     * @external
     */
    sections?: {
        GridSections: typeof GridSectionsContent;
        TableSections: typeof TableSections;
        renderSection: (item: T) => Section;
    };
}
export type TableGridSwitchProps<T, F extends FiltersMap> = GridPresetProps<T, TableGridSwitchBaseProps<T, F>>;
export declare function _TableGridSwitch<T, F extends FiltersMap = FiltersMap>(props: TableGridSwitchProps<T, F>): React.JSX.Element;
export declare const TableGridSwitch: typeof _TableGridSwitch & {
    displayName: string;
};
//# sourceMappingURL=TableGridSwitch.d.ts.map