/** * A capability the editor offers its features but implements somewhere lower * down: the app's router owns navigation, the header owns the create-page * modal. The provider holds the slot, so a feature calls the capability * without knowing which component carries it out. * * `call` and `register` keep their identity for the provider's lifetime, so a * caller can hold either in a dependency array. Calling an unfilled slot does * nothing. */ export interface EditorCapability { call: (...args: A) => void; /** Fills the slot until the returned function runs. */ register: (implementation: (...args: A) => void) => () => void; } export declare function useEditorCapability(): EditorCapability;