// @flow /* DOCUMENTATION: https://orbit.kiwi/components/modal/ */ import type { Globals } from "../common/common.js.flow"; import typeof ModalSectionType from "./ModalSection"; import typeof ModalHeaderType from "./ModalHeader"; import typeof ModalFooterType from "./ModalFooter"; export type State = {| scrolled: boolean, loaded: boolean, fixedClose: boolean, fullyScrolled: boolean, modalWidth: number, footerHeight: number, hasModalSection: boolean, |}; type Size = "small" | "normal" | "large"; export type onClose = ( ev: SyntheticKeyboardEvent | SyntheticEvent | MouseEvent, ) => void | Promise; export type Props = {| +size?: Size, +children: React$Node, +onClose?: onClose, +fixedFooter?: boolean, +isMobileFullPage?: boolean, ...Globals, |}; declare export default React$ComponentType; declare export var PureModal: React$ComponentType; declare export var ModalHeader: ModalHeaderType; declare export var ModalSection: ModalSectionType; declare export var ModalFooter: ModalFooterType;