import React from 'react'; import TestUtils, { Simulate } from 'react-dom/test-utils'; declare type TestWrapper = { /** * Ссылка на экземпляр React компонента. */ instance: Element | React.Component; /** * Корневой HTML узел компонента. */ node: Element | Text; /** * HTML узел контейнера, в котором отрендерен компонент. */ container: HTMLElement; }; declare type Options = { /** * Контейнер, в который нарендерить компонент. */ container?: HTMLElement; }; /** * Рендерит компонент в настоящий DOM, возвращает тестовую обертку. * * @param element JSX для рендера. * @param options Опции для рендера. * * @returns Тестовая обертка. */ export declare function render(element: React.ReactElement, options?: Options): TestWrapper; /** * Очищает содержимое DOM после тестов. */ export declare function cleanUp(): void; /** * Симулирует событие на HTML узле. * * @param node HTML узел, на котором необходимо сгенерить событие. * @param eventType Тип события. * @param eventData Данные для прокисрования в событие. */ export declare function simulate(node: HTMLElement, eventType: keyof typeof Simulate, eventData: TestUtils.SyntheticEventData): void; /** * Обеспечивает сохранение полей события в случае SyntheticEvent. * * @param event Synthetic event. */ export declare function eventPersist(event: React.SyntheticEvent): void; export {};