import * as React from 'react'; import * as PropTypes from 'prop-types'; import { FocusTrapZoneProps } from './FocusTrapZone.types'; /** FocusTrapZone is used to trap the focus in any html element placed in body * and hide other elements outside of Focus Trap Zone from accessibility tree. * Pressing tab will circle focus within the inner focusable elements of the FocusTrapZone. */ export declare class FocusTrapZone extends React.Component { static _focusStack: FocusTrapZone[]; _root: { current: HTMLElement | null; }; _previouslyFocusedElementOutsideTrapZone: HTMLElement; _previouslyFocusedElementInTrapZone?: HTMLElement; _firstBumper: React.RefObject; _lastBumper: React.RefObject; _hasFocus: boolean; windowRef: React.MutableRefObject; createRef: (elem: any) => void; shouldHandleOutsideClick: () => boolean; static propTypes: { as: PropTypes.Requireable; className: PropTypes.Requireable; elementToFocusOnDismiss: PropTypes.Requireable; ariaLabelledBy: PropTypes.Requireable; isClickableOutsideFocusTrap: PropTypes.Requireable; ignoreExternalFocusing: PropTypes.Requireable; forceFocusInsideTrapOnOutsideFocus: PropTypes.Requireable; forceFocusInsideTrapOnComponentUpdate: PropTypes.Requireable; firstFocusableSelector: PropTypes.Requireable; disableFirstFocus: PropTypes.Requireable; focusPreviouslyFocusedInnerElement: PropTypes.Requireable; focusTriggerOnOutsideClick: PropTypes.Requireable; }; static defaultProps: FocusTrapZoneProps; componentDidMount(): void; componentDidUpdate(prevProps: FocusTrapZoneProps): void; componentWillUnmount(): void; render(): JSX.Element; _onRootFocus: (ev: React.FocusEvent) => void; _onRootBlur: (ev: React.FocusEvent) => void; _onFirstBumperFocus: () => void; _onLastBumperFocus: () => void; _isBumper(element: HTMLElement): boolean; _onBumperFocus: (isFirstBumper: boolean) => void; _focusAsync(element: HTMLElement): void; _enableFocusTrapZone: () => void; _bringFocusIntoZone: () => void; _releaseFocusTrapZone: () => void; _findElementAndFocusAsync: () => void; _onFocusCapture: (ev: React.FocusEvent) => void; _forceFocusInTrap: (ev: Event, triggeredElement: HTMLElement) => void; _handleOutsideFocus: (ev: FocusEvent) => void; _handleOutsideClick: (ev: MouseEvent) => void; _onKeyboardHandler: (ev: React.KeyboardEvent) => void; _getPreviouslyFocusedElementOutsideTrapZone: () => HTMLElement; _hideContentFromAccessibilityTree: () => void; _showContentInAccessibilityTree: () => void; }