import * as _udecode_slate from '@udecode/slate'; import { TElement, EditorPropOptions, Path } from '@udecode/slate'; import * as _udecode_plate_core_react from '@udecode/plate-core/react'; import { PlatePluginContext } from '@udecode/plate-core/react'; import { PluginConfig } from '@udecode/plate-core'; declare const useEditorString: () => string; interface InputProps { /** * Should we activate the onKeyDownCapture handler to preventDefault when the * user presses enter? */ preventDefaultOnEnterKeydown?: boolean; } /** * Hook to allow the user to spread a set of predefined props to the Div wrapper * of an Input element * * @param param0 An options object which can be expanded to add further * functionality * @returns A props object which can be spread onto the element */ declare const useFormInputProps: (options?: InputProps) => { props: { onKeyDownCapture?: undefined; }; } | { props: { onKeyDownCapture: ((e: React.KeyboardEvent) => void) | undefined; }; }; declare const useMarkToolbarButtonState: ({ clear, nodeType, }: { nodeType: string; clear?: string[] | string; }) => { clear: string | string[] | undefined; nodeType: string; pressed: boolean; }; declare const useMarkToolbarButton: (state: ReturnType) => { props: { pressed: boolean; onClick: () => void; onMouseDown: (e: React.MouseEvent) => void; }; }; declare const useRemoveNodeButton: ({ element }: { element: TElement; }) => { props: { onClick: () => void; onMouseDown: (e: React.MouseEvent) => void; }; }; declare function useSelectionCollapsed(): boolean; declare function useSelectionExpanded(): boolean; declare function useSelectionWithinBlock(): boolean; declare function useSelectionAcrossBlocks(): boolean; declare const useSelectionFragment: () => _udecode_slate.ElementOrTextIn<_udecode_slate.Value>[]; declare const useSelectionFragmentProp: (options?: Omit) => string | undefined; type BlockPlaceholderConfig = PluginConfig<'blockPlaceholder', { _target: { node: TElement; placeholder: string; } | null; placeholders: Record; query: (context: PlatePluginContext & { node: TElement; path: Path; }) => boolean; className?: string; }>; declare const BlockPlaceholderPlugin: _udecode_plate_core_react.PlatePlugin; query: (context: PlatePluginContext & { node: TElement; path: Path; }) => boolean; className?: string; }, {}, {}, { placeholder: (node: TElement) => string | undefined; }>>; export { type BlockPlaceholderConfig, BlockPlaceholderPlugin, useEditorString, useFormInputProps, useMarkToolbarButton, useMarkToolbarButtonState, useRemoveNodeButton, useSelectionAcrossBlocks, useSelectionCollapsed, useSelectionExpanded, useSelectionFragment, useSelectionFragmentProp, useSelectionWithinBlock };