import * as react_jsx_runtime from 'react/jsx-runtime'; import { Table } from '@tanstack/react-table'; import { FilterOperator, FilterValue, FilterableField } from './data-table-filter.js'; import { ToolbarView, TableViewFormValues } from './data-table-view-form.js'; import 'zod'; type SortDirection = "asc" | "desc"; interface UseToolbarReturn { currentView: string; currentSearch: string; debouncedSearch: string; showSearchFilter: boolean; searchPlaceholder: string; enableSearch: boolean; enableSort: boolean; enableViews: boolean; enableColumns: boolean; enableSaveAs: boolean; enableFilter: boolean; handleSearchChange: (search: string) => void; handleViewChange: (view: ToolbarView) => void; handleSort: (field: TSortField) => void; clearSearch: () => void; clearSorts: () => void; toggleSearch: () => void; setShowSearchFilter: (show: boolean | ((prev: boolean) => boolean)) => void; getSortQuery: () => Record; getFilterQuery: () => { view: string; search: string; }; getAllQuery: () => { view: string; search: string; sort: Record; filter: Record>; }; handleFilter: (field: TFilterField, operator: FilterOperator, value: FilterValue) => void; clearFilter: (field: TFilterField, operator: FilterOperator) => void; clearFilters: () => void; currentVisibleColumns: string[]; handleVisibleColumns: (columns: string[]) => void; } interface ToolbarProps { toolbar: UseToolbarReturn; views?: ToolbarView[]; filterableFields?: FilterableField[]; loading?: boolean; upsertTableView?: (values: TableViewFormValues & { id?: string; }) => Promise<{ view: ToolbarView; isUpdate: boolean; }>; isSubmittingView?: boolean; onDeleteView?: (viewId: string) => void; table?: Table; className?: string; searchClassName?: string; viewsClassName?: string; } declare function Toolbar({ views, toolbar, loading, upsertTableView, onDeleteView, isSubmittingView, filterableFields, table, className, searchClassName, viewsClassName, }: ToolbarProps): react_jsx_runtime.JSX.Element; export { type SortDirection, Toolbar, type ToolbarProps, type UseToolbarReturn };