import { MainLoopEffectCallback, MainLoopEffectOptions, MouseMoveListenerProps, PageVisibilityListenerProps, PageFocusListenerProps, PointerLockListenerProps, FullscreenListenerProps, ResizeListenerProps, DeviceTypeListenerProps, ScreenOrientationListenerProps, MouseButtonsListenerProps, KeyboardListenerProps, MouseScrollListenerProps, Browser, Mouse, Keyboard, Joysticks, JoystickAreaProps } from '@manapotion/core'; export * from '@manapotion/core'; import * as react_jsx_runtime from 'react/jsx-runtime'; import { PropsWithChildren, DetailedHTMLProps, HTMLAttributes, RefObject } from 'react'; declare const useMainLoop: (callback: MainLoopEffectCallback, options?: MainLoopEffectOptions) => void; type ListenersProps = MouseMoveListenerProps & PageVisibilityListenerProps & PageFocusListenerProps & PointerLockListenerProps & FullscreenListenerProps & ResizeListenerProps & DeviceTypeListenerProps & ScreenOrientationListenerProps & MouseButtonsListenerProps & KeyboardListenerProps & MouseScrollListenerProps; declare const Listeners: ({ mouseMovementResetDelay, onMouseMove, onPageVisibilityChange, onPageFocusChange, onPointerLockChange, onFullscreenChange, onResize, onDeviceTypeChange, onScreenOrientationChange, onLeftMouseButtonDown, onMiddleMouseButtonDown, onRightMouseButtonDown, onLeftMouseButtonUp, onMiddleMouseButtonUp, onRightMouseButtonUp, onScroll, mouseScrollResetDelay, onKeyDown, onKeyUp, }: ListenersProps) => react_jsx_runtime.JSX.Element; declare function useBrowser(): Browser; declare function useBrowser(selector: (state: Browser) => T): T; declare function useMouse(): Mouse; declare function useMouse(selector: (state: Mouse) => T): T; declare function useKeyboard(): Keyboard; declare function useKeyboard(selector: (state: Keyboard) => T): T; declare function useJoysticks(): Joysticks; declare function useJoysticks(selector: (state: Joysticks) => T): T; type JoystickAreaBaseProps = PropsWithChildren & { containerProps: DetailedHTMLProps, HTMLDivElement>; ref?: RefObject; }>; declare const JoystickArea: ({ mode, joystick, maxFollowDistance, maxOriginDistance, onEnd, onMove, onStart, containerProps, children, ref, }: JoystickAreaBaseProps) => react_jsx_runtime.JSX.Element; declare const DeviceTypeListener: ({ onDeviceTypeChange }: DeviceTypeListenerProps) => null; declare const FullscreenListener: ({ onFullscreenChange }: FullscreenListenerProps) => null; declare const KeyboardListener: ({ onKeyDown, onKeyUp }: KeyboardListenerProps) => null; declare const MouseButtonsListener: ({ onLeftMouseButtonDown, onMiddleMouseButtonDown, onRightMouseButtonDown, onLeftMouseButtonUp, onMiddleMouseButtonUp, onRightMouseButtonUp, }: MouseButtonsListenerProps) => null; declare const MouseMoveListener: ({ mouseMovementResetDelay, onMouseMove, }: MouseMoveListenerProps) => null; declare const MouseScrollListener: ({ onScroll, mouseScrollResetDelay, }: MouseScrollListenerProps) => null; declare const PageFocusListener: ({ onPageFocusChange }: PageFocusListenerProps) => null; declare const PageVisibilityListener: ({ onPageVisibilityChange }: PageVisibilityListenerProps) => null; declare const PointerLockListener: ({ onPointerLockChange }: PointerLockListenerProps) => null; declare const ResizeListener: ({ onResize }: ResizeListenerProps) => null; declare const ScreenOrientationListener: ({ onScreenOrientationChange, }: ScreenOrientationListenerProps) => null; export { DeviceTypeListener, FullscreenListener, JoystickArea, KeyboardListener, Listeners, type ListenersProps, MouseButtonsListener, MouseMoveListener, MouseScrollListener, PageFocusListener, PageVisibilityListener, PointerLockListener, ResizeListener, ScreenOrientationListener, useBrowser, useJoysticks, useKeyboard, useMainLoop, useMouse };