import { StatefulPluginEditorProps } from '@edtr-io/core';
import * as React from 'react';
import { ValueJSON } from 'slate';
import { TextPluginOptions } from './types';
import { textState } from '.';
export declare const createTextEditor: (options: TextPluginOptions) => React.ComponentType<StatefulPluginEditorProps<import("@edtr-io/core/src/plugin-state").StateDescriptor<ValueJSON, ValueJSON, {
    (): ValueJSON;
    value: ValueJSON;
    set(value: ValueJSON | ((currentValue: ValueJSON) => ValueJSON)): void;
}>, SlateEditorAdditionalProps>>;
export declare type SlateEditorProps = StatefulPluginEditorProps<typeof textState, SlateEditorAdditionalProps>;
export interface SlateEditorAdditionalProps {
    name: string;
    insert?: (options?: {
        plugin: string;
        state?: unknown;
    }) => void;
    replace?: (options?: {
        plugin: string;
        state?: unknown;
    }) => void;
    remove?: () => void;
    parent?: SlateEditorAdditionalProps;
    mergeWithNext?: (merge: (next: ValueJSON) => void) => void;
    mergeWithPrevious?: (merge: (previous: ValueJSON) => void) => void;
}
//# sourceMappingURL=editor.d.ts.map