/** * Copyright 2019, SumUp Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type Ref } from 'react'; import { type DialogProps, type PublicDialogProps } from '../Dialog/Dialog.js'; export interface ModalProps extends Omit { /** * Use the `immersive` variant to focus the user's attention on the dialog content. * @default 'contextual' * */ variant?: 'contextual' | 'immersive'; /** * Callback function invoked when the modal closes. */ onClose?: DialogProps['onCloseEnd']; /** * @deprecated This prop was passed to `react-modal` and is no longer relevant. * Use the `preventClose` prop instead. Also see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/dialog_role#required_javascript_features */ hideCloseButton?: boolean; /** * Prevent users from closing the modal by clicking/tapping the overlay or * pressing the escape key, and hides the close button. * @default false */ preventClose?: boolean; /** * An optional class name to be applied to the component's content. */ contentClassName?: string; ref?: Ref; } export declare const ANIMATION_DURATION = 300; export declare const Modal: import("react").ForwardRefExoticComponent & import("react").RefAttributes>;