import { ArrayElementBindProps } from '../../../basic-components/cell/cell-types';
import { FieldOption, FilterGroup } from '../../../functional-components/filter-group/filter-builder-types';
import { DataColumn } from '../../../types/data-structures';
import { SortOrder } from '../../../types/global';
import { GroupDefinition } from '../grouping/grouping-types';
export interface DataTableHeaderProps {
    columns: DataColumn[];
    columnWidths: Record<string, number>;
    groups?: GroupDefinition[];
    showGroupBar: boolean;
    showFilter: boolean;
    filterColumn: string | null;
    activeFilters: FilterGroup;
    fieldOptions: FieldOption[];
    Filter?: string;
    enableSelection: boolean;
    allVisibleRowsSelected: boolean;
    sortBy: string | null;
    sortOrder: SortOrder;
    onToggleFilter: () => void;
    onToggleColumnFilter: (colName: string) => void;
    onFiltersChange: (filters: FilterGroup) => void;
    onResetFilters: () => void;
    onGroupChange: (newElements: ArrayElementBindProps[]) => void;
    onGroupDrop: (e: React.DragEvent<HTMLDivElement>) => void;
    onGroupDragOver: (e: React.DragEvent<HTMLDivElement>) => void;
    onMouseDown: (e: React.MouseEvent, columnName: string) => void;
    onToggleAllRows: () => void;
    onSort: (columnName: string) => void;
    onDragStart: (columnName: string) => void;
    onDragOver: (e: React.DragEvent) => void;
    onDrop: (columnName: string) => void;
}
//# sourceMappingURL=header-types.d.ts.map