import { FocusEventHandler, MouseEventHandler, PropsWithChildren, WheelEventHandler } from 'react'; import { Point } from 'types'; interface RainbowEffectContextType { setElement: (element: HTMLElement, params: { opacity: number; blur: number; }) => void; setCursor: (cursor: Point) => void; removeRainbow: () => void; hasCurrentElement: () => boolean; } interface RainbowEffectHookProps { onMouseEnter?: MouseEventHandler; onMouseMove?: MouseEventHandler; onMouseLeave?: MouseEventHandler; onWheel?: WheelEventHandler; onFocus?: FocusEventHandler; opacity?: number; blur?: number; } export declare const useRainbowEffect: (enabled: boolean, options?: RainbowEffectHookProps) => { onMouseEnter: MouseEventHandler | undefined; onMouseMove: MouseEventHandler | undefined; onMouseLeave: MouseEventHandler | undefined; onWheel: WheelEventHandler | undefined; onFocus: FocusEventHandler | undefined; 'data-rainbow-opacity'?: undefined; 'data-rainbow-blur'?: undefined; } | { onMouseEnter: MouseEventHandler; onMouseMove: MouseEventHandler; onMouseLeave: MouseEventHandler; onWheel: WheelEventHandler; onFocus: FocusEventHandler; 'data-rainbow-opacity': number; 'data-rainbow-blur': string; }; export declare const useRainbowContext: () => RainbowEffectContextType; export declare const RainbowEffect: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element; export {};