export type VirtualKeyboardState = {
    opened: boolean;
};
/**
 * > см. [Неудобно работать с клавиатурой в ModalPage на iOS #3792](https://github.com/VKCOM/VKUI/discussions/3792)
 *
 * Для реализации модальных окон для тач-устройств, мы вынуждены отслеживать открытие виртуальной
 * клавиатуры. По состоянию `opened` компоненты должны временно блокировать дальнейшее взаимодействие
 * с ними. Например, отключить закрытие по свайпу, чтобы не мешать пользователю работать с полями
 * ввода.
 *
 * Помимо этого в **Safari** и в **Chrome Android** нам нужно отслеживать прокрутку области видимости
 * пользователем, т.к. в упомянутых браузерах, виртуальная клавиатура поднимает контент вверх
 * не изменяя её высоту. Из-за этого появляется возможность прокручивать `window`, что визуально
 * выглядит плохо. В хуке мы ловим фокус на поле ввода и далее, если это тач-устройство, то
 * отлавливаем события прокрутки на `window`, чтобы сохранять текущую её позицию через `scrollTo(x, y)`.
 *
 * **Troubleshooting**
 *
 * - в **Safari** и в **Chrome Android** шапка будет выдвигаться вверх – хаки с выставлением `offsetTop`
 *   из `VisualViewport` порождают reflow/repaint и прыгания контента;
 * - в **Safari** изменение высоты виртуальной клавиатуры, например, на выбор эмодзи, не поднимет
 *   `VisualViewport` из-за чего клавиатура может частично перекрыть элементы интерфейса.
 *
 * **Полезные ссылки**
 *
 * - [The Eccentric Ways of iOS Safari with the Keyboard](https://web.archive.org/web/20240920081850/https://blog.opendigerati.com/the-eccentric-ways-of-ios-safari-with-the-keyboard-b5aa3f34228d?gi=5411141a13e0)
 * - [Dealing with the visual viewport](https://web.archive.org/web/20240920082109/https://rdavis.io/articles/dealing-with-the-visual-viewport)
 * - [How to get the document height in iOS Safari when the on-screen keyboard is open](https://web.archive.org/web/20240920082743/https://martijnhols.nl/gists/how-to-get-document-height-ios-safari-osk)
 */
export declare function useVirtualKeyboardState(enabled?: boolean): VirtualKeyboardState;
//# sourceMappingURL=useVirtualKeyboardState.d.ts.map