import { createContext } from 'react';

import type { JSX } from 'react';
import type { ThemeHooks } from '../types/hooks';
import type { LinkProps } from '../../components/Link/Link';
import type { UiAccessibleConfig } from '../../config';

export interface ThemeDataTransferObject {
  hooks: ThemeHooks;
  components: {
    LinkComponent: (props: React.PropsWithChildren<LinkProps>) => JSX.Element;
  };
  config: UiAccessibleConfig;
}

export const ThemeDataContext = createContext<ThemeDataTransferObject | null>(null);
