import React, { FC } from 'react'; import { ModalWindow, ModalWindowProps, ModalHeader, ModalHeaderProps, ModalFooter, ModalContent } from '../Modal/components'; import { UseFocusTrapProps } from '../../hooks'; export interface DialogProps extends ModalHeaderProps, ModalWindowProps { /** Action buttons layout direction */ actionsLayout?: 'row' | 'row-reverse' | 'column' | 'column-reverse'; children?: React.ReactNode; /** Adds one or more classnames for an element */ className?: string; /** Negative styling (red) for primary action */ negative?: boolean; /** Function that fires when the user clicks on the primary button/action */ onPrimaryActionClick: (e: React.SyntheticEvent) => void; /** Function that fires when the user clicks on the secondary button/action */ onSecondaryActionClick?: (e: React.SyntheticEvent) => void; /** Whether the dialog is open or not */ open?: boolean; /** Render in a React Portal */ portal?: boolean; /** Text for the primary button */ primaryActionName: string; /** Text for the secondary button */ secondaryActionName?: string; /** Options passed into useFocusTrap */ focusTrapOptions?: UseFocusTrapProps; } interface Dialog extends FC { /** Subcomponents */ Window: typeof ModalWindow; Header: typeof ModalHeader; Content: typeof ModalContent; Footer: typeof ModalFooter; } export declare const Dialog: Dialog; export {};