import { EditorState } from "./state"; import { Transaction } from "./transaction"; export declare class StateField { /** @internal */ readonly key: string; readonly init: (state: EditorState) => T; readonly apply: (tr: Transaction, value: T, newState: EditorState) => T; constructor({ init, apply, debugName }: { init: (state: EditorState) => T; apply: (tr: Transaction, value: T, newState: EditorState) => T; debugName?: string; }); } export interface PluginSpec { state?: StateField; config?: any; view?: any; multipleSelections?: boolean; } export declare class Plugin { readonly spec: PluginSpec; readonly config: any; readonly stateField: StateField | null; readonly view: (editorView: any) => any; constructor(spec: PluginSpec); } export declare function unique(prefix: string, names: { [key: string]: string; }): string;