import { SavedFiltersButtonProps } from './types';
/**
 * `SavedFiltersButton` is an opt-in companion to FilterBar that lets users
 * apply, save, edit, and delete preset filter selections. It is fully
 * stateless: the consumer owns the `savedFilters` array and writes its own
 * persistence (server, localStorage, etc.) by reacting to the callbacks the
 * component fires.
 *
 * Visually it's a single Button trigger that opens a popover listing the
 * presets, with two footer actions:
 *
 * - **Save Current Filter** opens a drawer that snapshots `currentFilters`
 *   into a new preset.
 * - **Edit Saved Filters** opens a drawer listing every preset with edit
 *   affordances; clicking edit on a row drills into a per-preset form
 *   reusing the FilterBar adapter `renderDrawer` machinery.
 *
 * Apply, save, update, and delete are all delivered as consumer callbacks
 * (`onApplySavedFilter`, `onSaveCurrentFilter`, `onUpdateSavedFilter`,
 * `onDeleteSavedFilter`). Promise-returning callbacks are supported with
 * loading state on the relevant submit button and success/error alerts on
 * the parent drawer.
 *
 * @example
 * <SavedFiltersButton
 *   savedFilters={presets}
 *   currentFilters={filters}
 *   onApplySavedFilter={(preset) => setFilters(preset.filters)}
 *   onSaveCurrentFilter={async ({ name, filters }) => {
 *     await api.savePreset({ name, filters });
 *     refetchPresets();
 *   }}
 *   onUpdateSavedFilter={async (id, update) => api.updatePreset(id, update)}
 *   onDeleteSavedFilter={async (id) => api.deletePreset(id)}
 * />
 */
export declare const SavedFiltersButton: {
    (props: SavedFiltersButtonProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
