import React, { ComponentProps, ComponentType } from 'react'; import { MessageDescriptor } from 'react-intl'; import { Button } from 'app/components/ui/form'; import RejectionLink from 'app/components/auth/RejectionLink'; import AuthTitle from 'app/components/auth/AuthTitle'; import BaseAuthBody from './BaseAuthBody'; export type Factory = () => { Title: ComponentType; Body: typeof BaseAuthBody; Footer: ComponentType; Links: ComponentType; }; type RejectionLinkProps = ComponentProps; interface FactoryParams { title: MessageDescriptor; body: typeof BaseAuthBody; footer: Omit, 'type'>; links?: RejectionLinkProps | Array; } export default function ({ title, body, footer, links }: FactoryParams): Factory { return () => ({ Title: () => , Body: body, Footer: () =>