///
import { FiltersMap } from '@wix/bex-core';
import { setViewsState } from '../../state/setViewsState';
import { AllItemsViewProps, Category, View } from '../../model';
export interface CollectionViewsDropdownProps {
/**
* Array of `View` or `Category` objects that will appear as predefined views or groups of views. If you provide the array of `View` objects - they will be placed under the category `Predefined Views`.
* Each predefined `View` object has the following properties:
* `id` - A unique identifier (note: category IDs `saved-views` and `predefined-views` are taken by Cairo, don't use them)
* `name` - The name of the view as it appears in the dropdown
* `filters` - The filters to apply to the table when this view is selected
* `selectedColumns` - The custom columns array
* `sortDirections` - The sort directions array
* `isDeletable` - Whether it's possible to delete the view preset by users
* `isDefaultView` - Whether to automatically select the view when the table loads
* Each predefined `Category` object has the following properties:
* `id` - A unique identifier
* `name` - The name of the category as it appears in the dropdown
* `info` - [InfoIconProps](https://www.docs.wixdesignsystem.com/?path=/story/components-form--infoicon)
* `views`: Array of `View` objects which will appear under the category
* @external
*/
presets?: Category[] | Omit, 'createdAt'>[];
/**
* A link to appear as "Learn More" button in the "Save View" modal
* @external
*/
learnMoreUrl?: string;
/**
* A function to be called after a view is saved
* @external
*/
onSaveViewChanges?: (view: View) => void | Promise;
/**
* A function to be called after a new view is saved
* @external
*/
onSaveView?: (view: View) => void | Promise;
/**
* A function to be called after a view is deleted
* @external
*/
onDeleteView?: (view: View) => void | Promise;
/**
* A function to be called after a view is renamed
* @external
*/
onRenameView?: (view: View) => void | Promise;
/**
* A function to be called after a view is set as default / reset
* @external
*/
onSetAsDefaultView?: (view: View, isDefault: boolean) => void | Promise;
/**
* A function to be called after a view is selected
* @external
*/
onSelect?: (view: View) => void;
/**
* Shows a total count for the selected view
* @default true
* @external
*/
showTotal?: boolean;
/**
* All items view props
* @external
*/
allItemsViewProps?: AllItemsViewProps;
/** @deprecated */
hideLabel?: boolean;
/**
* The value to override the placeholder in the "Save View" modal
* @external
*/
viewNamePlaceholder?: string;
}
export declare const CollectionViewsDropdown: {
(props: CollectionViewsDropdownProps): JSX.Element;
setViewsState: typeof setViewsState;
displayName: string;
};
//# sourceMappingURL=CollectionViewsDropdown.d.ts.map