import { ReactElement } from 'react'; import { ModalProps as MKModalProps, MQ, ImageProps, InlineMessageProps, NewsKitIcon } from 'newskit'; import { IntroductionProps } from '../Introduction'; import { CorePackageContentProps } from '../CorePackageContent'; import { ButtonGroupProps, ButtonProps } from '../ButtonGroup'; import { LinkProps } from '../Link'; export interface ModalContentProps { paddingInline?: MQ; paddingBlock?: MQ; image?: ImageProps & { marginBlockEnd?: MQ; }; introduction?: IntroductionProps; inlineMessage?: Omit & { message?: string; marginBlockEnd?: MQ; }; corePackageContent?: CorePackageContentProps; buttonGroup?: ButtonGroupProps & { paddingInline?: MQ; paddingBlock?: MQ; }; centeredButton?: ButtonProps & { paddingInline?: MQ; paddingBlock?: MQ; marginBlock?: MQ; }; modalLink?: ModalLinkProps; phoneLinkList?: PhoneLinkListProps; } interface PhoneLinkProps extends LinkProps { text: string; description?: string; } export interface PhoneLinkListProps { links: PhoneLinkProps[]; introduction?: IntroductionProps; gridLayoutOverrides?: { autoFlow?: MQ; columns?: MQ; columnGap?: MQ; justifyContent?: MQ; overrides?: { paddingBlock?: MQ; paddingInline?: MQ; }; }; containerOverrides?: { stylePreset?: MQ; paddingBlock?: MQ; }; linkIcon: ReactElement; descriptionOverrides?: { stylePreset?: MQ; typographyPreset?: MQ; marginBlock?: MQ; }; textOverrides?: { stylePreset?: MQ; typographyPreset?: MQ; }; } export interface ModalLinkProps { links?: Array | (LinkProps & { text: string; }); introduction?: IntroductionProps; } export interface ModalProps extends Omit, ModalContentProps { closePosition?: 'left' | 'right' | 'none'; onOpen?: () => void; useFixedWrapper?: boolean; fixedWrapperLeft?: string; fixedWrapperTop?: MQ; } export interface ModalWrapperProps extends Pick { children: ReactElement; } export {};