import { DialogClassNameContract } from "@microsoft/fast-components-class-name-contracts-base"; import Foundation, { HandledProps } from "@microsoft/fast-components-foundation-react"; import React from "react"; import { DialogHandledProps, DialogProps, DialogUnhandledProps } from "./dialog.props"; declare class Dialog extends Foundation { static defaultProps: Partial; static displayName: string; protected handledProps: HandledProps; private rootElement; /** * Renders the component */ render(): React.ReactElement; /** * React life-cycle method */ componentDidMount(): void; /** * React life-cycle method */ componentDidUpdate(prevProps: Partial): void; /** * React life-cycle method */ componentWillUnmount(): void; /** * Generates class names */ protected generateClassNames(): string; /** * Renders the modal overlay */ private renderModalOverlay; /** * Check if props demand a key listener */ private shouldAddKeyListener; /** * handles document key down events */ private handleDocumentKeyDown; /** * Invokes dialog soft dismiss if appropriate */ private checkForSoftDismiss; /** * process tab key down events */ private handleTabKeyDown; /** * forces focus to first tabbable element of modal dialog if document gains focus while dialog is open */ private handleDocumentFocus; /** * test to avoid forcing focus when focus is already within */ private shouldForceFocus; /** * focus on first element of tab queue */ private focusOnFirstElement; /** * if no tabbable elements try to focus root element * generally a modal dialog should be expected to have a focusable element */ private tryFocusOnRootElement; /** * Act on focusTargetOnClose prop when component unmounts */ private invokeFocusOnCloseTarget; } export default Dialog; export * from "./dialog.props"; export { DialogClassNameContract };