import { ProseMirror } from '../'; export interface PluginStateCtor { new(pm: ProseMirror, ...args: any[]): S; } export class Plugin { constructor(State: PluginStateCtor, options?: { [key: string]: any }); get(pm: ProseMirror): S | undefined; attach(pm: ProseMirror): any; detach(pm: ProseMirror): void; ensure(pm: ProseMirror): S; config(options?: { [key: string]: any }): this; }