import * as solid_js from 'solid-js'; import { MaybeElementAccessor } from '@solidjs-use/shared'; import { ConfigurableDocument } from '../_configurable.js'; declare global { interface PointerLockOptions { unadjustedMovement?: boolean; } interface Element { requestPointerLock(options?: PointerLockOptions): Promise | void; } } type MaybeHTMLElement = HTMLElement | undefined | null; interface UsePointerLockOptions extends ConfigurableDocument { pointerLockOptions?: PointerLockOptions; } /** * Reactive pointer lock. * * @see https://solidjs-use.github.io/solidjs-use/core/usePointerLock */ declare function usePointerLock(target?: MaybeElementAccessor, options?: UsePointerLockOptions): { isSupported: solid_js.Accessor; element: solid_js.Accessor; triggerElement: solid_js.Accessor; lock: (e: MaybeElementAccessor | Event, options?: PointerLockOptions) => Promise; unlock: () => Promise; }; type UsePointerLockReturn = ReturnType; export { UsePointerLockOptions, UsePointerLockReturn, usePointerLock };