import { NestedTableKeyedItem, NestedTableState } from '../../state';
import React, { ReactElement } from 'react';
import { VirtualTableRepeaterProps } from '../VirtualGridRepeater/VirtualTableRepeater';
import { TableColumn as TableColumnWSR } from '@wix/design-system/dist/types/Table';
import type { NestedTableDragAndDrop } from '../NestedTableDragAndDrop/NestedTableDragAndDrop';
export interface UseModeTableProps<C extends string> {
    state: NestedTableState<C>;
    horizontalScroll?: boolean;
    actionCellWidth?: string | number;
    actionCellProps?: Partial<Omit<TableColumnWSR<any>, 'render' | 'style'>>;
    dragAndDrop?: typeof NestedTableDragAndDrop;
}
export declare function useModeTableProps<C extends string>(props: UseModeTableProps<C>): {
    state: import("../../state").NestedTableFlatModeState<C> | import("../../state").NestedTableNestedModeState<C>;
    key: string;
    BodyElementType: ({ children }: VirtualTableRepeaterProps) => React.JSX.Element;
    TrElementType: React.ForwardRefExoticComponent<{
        children: ReactElement[];
        rowData: NestedTableKeyedItem<C, any, any>;
        className: string;
    } & React.RefAttributes<HTMLTableRowElement>> | undefined;
    columns: TableColumnWSR<NestedTableKeyedItem<any, any, any>>[] | TableColumnWSR<import("../../state/NestedTableState/NestedTableFlatModeSectionState").NestedTableFlatKeyedItem<C, any, any>>[];
};
//# sourceMappingURL=useModeTableProps.d.ts.map