import { BlockNoteEditor, createStore, Extension, ExtensionFactory } from "@blocknote/core"; type Store = ReturnType>; /** * Use an extension instance */ export declare function useExtension(plugin: T, ctx?: { editor?: BlockNoteEditor; }): T extends ExtensionFactory ? NonNullable>> : T extends string ? Extension : T extends Extension ? T : never; type ExtractStore = T extends Store ? U : never; /** * Use the state of an extension */ export declare function useExtensionState> : T, TStore = TExtension extends { store: Store; } ? TExtension["store"] : never, TSelected = NoInfer>>(plugin: T, ctx?: { editor?: BlockNoteEditor; selector?: (state: NoInfer>) => TSelected; }): TSelected; export {};