/**
 * Reactive fullscreen controller
 */
export declare function useFullscreen(target?: Element | (() => Element | null) | null, options?: FullscreenOptions): FullscreenRef;
/**
 * Simple fullscreen toggle for document
 */
export declare function toggleFullscreen(): Promise<void>;
/**
 * Check if currently in fullscreen mode
 */
export declare function isInFullscreen(): boolean;
/**
 * useFullscreen - Reactive Fullscreen API wrapper
 *
 * Control fullscreen mode for elements or the entire document.
 *
 * @example
 * ```ts
 * // Document fullscreen
 * const { isFullscreen, toggle, enter, exit } = useFullscreen()
 *
 * // Element fullscreen
 * const { isFullscreen, toggle } = useFullscreen(videoElement)
 *
 * // With keyboard shortcut
 * useHotkey('f', () => toggle())
 * ```
 */
export declare interface FullscreenState {
  isFullscreen: boolean
  isSupported: boolean
  element: Element | null
}
export declare interface FullscreenOptions {
  navigationUI?: 'auto' | 'hide' | 'show'
  autoExit?: boolean
}
export declare interface FullscreenRef {
  get: () => FullscreenState
  subscribe: (fn: (state: FullscreenState) => void) => () => void
  isFullscreen: () => boolean
  isSupported: () => boolean
  enter: () => Promise<void>
  exit: () => Promise<void>
  toggle: () => Promise<void>
}
