/**
 * @remarks \@since 6.0.0  Updated the API
 */
export interface ResizeListenerOptions extends AddEventListenerOptions {
    /**
     * Set this to `false` to disable throttling with
     * `window.requestAnimationFrame`.
     *
     * @defaultValue `true`
     */
    throttle?: boolean;
    /**
     * Set this to `true` to disable attaching the resize event handler.
     *
     * @defaultValue `false`
     */
    disabled?: boolean;
    /**
     * This function will be called whenever the resize event is fired on the
     * `window`. This should be wrapped in `useCallback`.
     */
    onUpdate(event: Event): void;
}
/**
 * This hook can be used to listen to the entire window resizing. If you need to
 * observe specific elements resizing, check out the {@link useResizeObserver}
 * hook instead.
 *
 * @example
 * Simple Example
 * ```tsx
 * import { useResizeListener } from "@react-md/core";
 * import type { ReactElement } from "react";
 * import { useState } from "react";
 *
 * function Example(): ReactElement {
 *   const [size, setSize] = useState({
 *     height: window.innerHeight,
 *     width: window.innerWidth,
 *   }):
 *
 *   useResizeListener({
 *     onUpdate(event) {
 *       setSize({
 *         height: window.innerHeight,
 *         width: window.innerWidth,
 *       });
 *     },
 *   });
 *
 *   return (
 *     <>
 *       The current window size:
 *       <pre><code>{JSON.stringify(size, null, 2)}</code></pre>
 *     </>
 *   );
 * }
 * ```
 *
 * @remarks \@since 6.0.0  Updated the API to match the `useResizeObserver` and
 * `useIntersectionObserver` hooks by having an `onUpdate` callback and include
 * the `AddEventListenerOptions` as part of the hook options.
 */
export declare function useResizeListener(options: ResizeListenerOptions): void;
