import React, { ReactNode } from 'react'; import { CSSValueWithLength } from '../../styles'; import { ModalActionButtonType } from './ModalActionButton'; import { ModalButtonProps, ModalContentProps } from './Modal'; type LayoutHeightType = { header: number; footer: number; }; export interface FloatingModalContentProps { opened: boolean; width?: CSSValueWithLength; /** @default 'bottom-right' */ position?: 'bottom-right' | 'top-right' | 'bottom-left' | 'top-left'; title?: ReactNode; /** * 기본적으로 open transition delay가 0.15s가 있습니다. delay를 제거하려면 false로 설정합니다. * @default true */ hasTransitionDelay?: boolean; confirmText?: string; confirmButtonProps?: ModalButtonProps; cancelText?: string; cancelButtonProps?: ModalButtonProps; /** * autofocus 지정할 기본 버튼 요소 * @default null */ autoFocusButton?: ModalActionButtonType | null; /** * 헤더 영역 타이틀 좌측 backButton 사용 유무 * @default false */ backButton?: boolean; /** @default true */ closeButton?: boolean; contentProps?: ModalContentProps; /** * 푸터 영역을 커스텀할 수 있습니다. * - 기본 Footer(confirmText, cancelText)는 미노출됩니다. */ footer?: ReactNode; onConfirm?: () => void; /** * reason을 포함한 cancel 이벤트를 전달합니다. * - 'cancelClick' | 'escapeKeyPress' | 'overlayClick' */ onCancel?: () => void; /** * Modal Header backButton 클릭 이벤트 */ onClickBackButton?: () => void; } export declare const FloatingModalContent: React.ComponentType>; export declare const FloatingModalBody: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme | undefined; as?: React.ElementType | undefined; } & ModalContentProps & { layoutHeight: LayoutHeightType; contentOverflow: boolean; }, React.DetailedHTMLProps, HTMLDivElement>, {}>; export {};