import * as solid_js from 'solid-js';
import { MaybeElementAccessor } from '@solidjs-use/shared';
import { ConfigurableDocument } from '../_configurable.js';

interface UseFullscreenOptions extends ConfigurableDocument {
    /**
     * Automatically exit fullscreen when component is unmounted
     *
     * @default false
     */
    autoExit?: boolean;
}
/**
 * Reactive Fullscreen API.
 *
 * @see https://solidjs-use.github.io/solidjs-use/core/useFullscreen
 */
declare function useFullscreen(target?: MaybeElementAccessor, options?: UseFullscreenOptions): {
    isSupported: solid_js.Accessor<boolean>;
    isFullscreen: solid_js.Accessor<boolean>;
    enter: () => Promise<void>;
    exit: () => Promise<void>;
    toggle: () => Promise<void>;
};
type UseFullscreenReturn = ReturnType<typeof useFullscreen>;

export { UseFullscreenOptions, UseFullscreenReturn, useFullscreen };