import { PropsWithChildren, ReactNode, RefObject, default as React } from 'react'; export interface Toast { message: string; status: 'ERROR' | 'WARNING' | 'INFO'; title?: string; icon?: ReactNode; } export interface Popover { isOpen: boolean; triggerRef?: RefObject; } export declare const regionSliderTypes: { readonly setLocation: "setLocation"; readonly changeLocation: "changeLocation"; readonly changePickupPoint: "changePickupPoint"; readonly globalChangePickupPoint: "globalChangePickupPoint"; }; type RegionSliderType = (typeof regionSliderTypes)[keyof typeof regionSliderTypes]; export type RegionSlider = { type: RegionSliderType | 'none'; isOpen: boolean; }; interface State { /** Cart sidebar */ cart: boolean; /** Region modal */ modal: boolean; /** Menu slider */ navbar: boolean; /** Search page filter slider */ filter: boolean; /** Toast notifications */ toasts: Toast[]; /** Region Popover */ popover: Popover; /** Region slider */ regionSlider: RegionSlider; } interface Context extends State { closeNavbar: () => void; openNavbar: () => void; closeFilter: () => void; openFilter: () => void; openCart: () => void; closeCart: () => void; openModal: () => void; closeModal: () => void; pushToast: (data: Toast) => void; popToast: () => void; openPopover: (popover: Popover) => void; closePopover: () => void; openRegionSlider: (type: RegionSliderType) => void; closeRegionSlider: () => void; } declare function UIProvider({ children }: PropsWithChildren): React.JSX.Element; export declare function useUI(): Context; export default UIProvider; //# sourceMappingURL=UIProvider.d.ts.map