import * as solid_js from 'solid-js'; import { MaybeAccessor } from '@solidjs-use/shared'; import { ConfigurableNavigator } from '../_configurable.js'; interface UseUserMediaOptions extends ConfigurableNavigator { /** * If the stream is enabled * @default false */ enabled?: MaybeAccessor; /** * Recreate stream when deviceIds or constraints changed * * @default true */ autoSwitch?: MaybeAccessor; /** * MediaStreamConstraints to be applied to the requested MediaStream * If provided, the constraints will override videoDeviceId and audioDeviceId * * @default {} */ constraints?: MaybeAccessor; } /** * Reactive `mediaDevices.getUserMedia` streaming * * @see https://solidjs-use.github.io/solidjs-use/core/useUserMedia */ declare function useUserMedia(options?: UseUserMediaOptions): { isSupported: solid_js.Accessor; stream: solid_js.Accessor; start: () => Promise; stop: () => void; restart: () => Promise; constraints: solid_js.Accessor; setConstraints: solid_js.Setter; enabled: solid_js.Accessor>; setEnabled: solid_js.Setter>; autoSwitch: solid_js.Accessor>; setAutoSwitch: solid_js.Setter>; }; type UseUserMediaReturn = ReturnType; export { UseUserMediaOptions, UseUserMediaReturn, useUserMedia };