/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow strict
 */

import type {EditorThemeClasses, LexicalEditor} from 'lexical';

export type LexicalComposerContextType = {
  getTheme: () => ?EditorThemeClasses,
};

export type LexicalComposerContextWithEditor = [
  LexicalEditor,
  LexicalComposerContextType,
];

declare export var LexicalComposerContext: React.Context<?LexicalComposerContextWithEditor>;

declare export function createLexicalComposerContext(
  parent: ?LexicalComposerContextWithEditor,
  theme: ?EditorThemeClasses,
): LexicalComposerContextType;
declare export function useLexicalComposerContext(): LexicalComposerContextWithEditor;
