import React$1 from 'react'; type Favorite = { id: string; pos: number; }; type StatusUnion = 'idle' | 'error' | 'loading' | 'pending' | 'reloading' | 'success'; declare const FavoritesProvider: ({ children, onFavoritesChange, onMaxFavoritesReached, settingsFavorites, settingsStatus, applicationId, maxFavorites, }: { children: React.ReactNode; onFavoritesChange?: (favorites: Favorite[]) => void; onMaxFavoritesReached?: (favorites: Favorite[]) => void; settingsFavorites?: Favorite[]; settingsStatus?: StatusUnion; applicationId?: string; maxFavorites?: number; }) => React.JSX.Element; type MergedStatusUnion = 'initLoading' | 'reloading' | 'error' | 'success'; declare const useFavorites: (id: string) => { isFavorited: boolean; status: MergedStatusUnion; isLastClickedFavorite: boolean; toggleFavorite: () => void; }; type FavoriteHeartProps = { /** The configuration's id */ id: string; /** The name of the configuration */ name: string; /** What to do on Favorite Toggle */ onChange?: (isFavorited: boolean, event: React$1.ChangeEvent | React$1.KeyboardEvent) => void; /** What to do on click */ onMouseDown?: (event: React$1.MouseEvent) => void; /** Whether or not the Favorite is disabled * @default false */ disabled?: boolean; /** The size of the icon in rem or px, minimum size is 1.5rem / 24px */ customSize?: string; }; declare const FavoriteHeart: ({ id, name, onChange, onMouseDown, disabled, customSize, }: FavoriteHeartProps) => React$1.JSX.Element; export { FavoriteHeart, FavoritesProvider, useFavorites };