// @flow
import typeof { FormattedMessage, FormattedHTMLMessage } from 'react-intl';
import type { Element, StatelessFunctionalComponent } from 'react';
import type { PatchworkTheme } from './themes/theme.types';

export type PatchworkComponent<Props> = StatelessFunctionalComponent<Props> & {
  extend: (css: string[]) => PatchworkComponent<Props>,
};

export type ThemeProps = {
  theme: PatchworkTheme,
};

export type TranslatedContent =
  | string
  | Element<FormattedMessage>
  | Element<FormattedHTMLMessage>;
