/** * 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. * */ import type { CollabDecoratorNode } from './CollabDecoratorNode'; import type { CollabElementNode } from './CollabElementNode'; import type { CollabLineBreakNode } from './CollabLineBreakNode'; import type { CollabTextNode } from './CollabTextNode'; import type { Cursor } from './SyncCursors'; import type { LexicalEditor, NodeKey } from 'lexical'; import type { Doc } from 'yjs'; import { Klass, LexicalNode } from 'lexical'; import { Provider } from '.'; export type ClientID = number; export type Binding = { clientID: number; collabNodeMap: Map; cursors: Map; cursorsContainer: null | HTMLElement; doc: Doc; docMap: Map; editor: LexicalEditor; id: string; nodeProperties: Map>; root: CollabElementNode; excludedProperties: ExcludedProperties; }; export type ExcludedProperties = Map, Set>; export declare function createBinding(editor: LexicalEditor, provider: Provider, id: string, doc: Doc | null | undefined, docMap: Map, excludedProperties?: ExcludedProperties): Binding;