import { CheckboxProps } from '@mui/material/Checkbox';
import { ChangeEvent } from 'react';

export interface RowData {
    id: number | string;
    selected?: boolean;
    value?: any;
    startTime?: string | number;
    endTime?: string | number;
    duration?: string;
    color?: string;
}
interface UseColumnDefsProps {
    allSelected: boolean;
    partiallySelected: boolean;
    onToggleSelectAll: CheckboxProps["onChange"];
    onToggleRow: (event: ChangeEvent<HTMLInputElement>, row: RowData) => void;
}
export declare const useColumnDefs: ({ allSelected, partiallySelected, onToggleSelectAll, onToggleRow }: UseColumnDefsProps) => {
    columns: ({
        field: string;
        headerName: string;
        disableColumnMenu: boolean;
        filterable: boolean;
        maxWidth: number;
        disableClickEventBubbling: boolean;
        sortable: boolean;
        renderHeader: () => import("react/jsx-runtime").JSX.Element;
        renderCell: (params: any) => import("react/jsx-runtime").JSX.Element;
        flex?: undefined;
        valueGetter?: undefined;
        width?: undefined;
    } | {
        field: string;
        headerName: string;
        flex: number;
        disableColumnMenu?: undefined;
        filterable?: undefined;
        maxWidth?: undefined;
        disableClickEventBubbling?: undefined;
        sortable?: undefined;
        renderHeader?: undefined;
        renderCell?: undefined;
        valueGetter?: undefined;
        width?: undefined;
    } | {
        field: string;
        headerName: string;
        flex: number;
        valueGetter: (params: any, value: any) => string;
        disableColumnMenu?: undefined;
        filterable?: undefined;
        maxWidth?: undefined;
        disableClickEventBubbling?: undefined;
        sortable?: undefined;
        renderHeader?: undefined;
        renderCell?: undefined;
        width?: undefined;
    } | {
        field: string;
        headerName: string;
        width: number;
        renderCell: (params: any) => import("react/jsx-runtime").JSX.Element;
        disableColumnMenu?: undefined;
        filterable?: undefined;
        maxWidth?: undefined;
        disableClickEventBubbling?: undefined;
        sortable?: undefined;
        renderHeader?: undefined;
        flex?: undefined;
        valueGetter?: undefined;
    } | {
        field: string;
        headerName: string;
        sortable: boolean;
        filterable: boolean;
        disableColumnMenu: boolean;
        maxWidth: number;
        renderCell: (params: any) => import("react/jsx-runtime").JSX.Element;
        disableClickEventBubbling?: undefined;
        renderHeader?: undefined;
        flex?: undefined;
        valueGetter?: undefined;
        width?: undefined;
    })[];
};
export {};
