export * from './Leaf';
export * from './Element';
import { ReactEditor } from 'slate-react';
import { ConversationContentMessageType } from '../../api/types';
import { Editor, BaseEditor, CustomTypes, BaseElement } from 'slate';
export declare const initialValue: {
    type: ConversationContentMessageType;
    children: {
        text: string;
    }[];
}[];
export declare function withLinks(editor: Editor): BaseEditor & ReactEditor & {
    blurSelection?: import("slate").BaseRange;
};
export declare function isLinkActive(editor: CustomTypes['Editor']): boolean;
export declare function unwrapLink(editor: CustomTypes['Editor']): void;
export declare function wrapLink(editor: CustomTypes['Editor'], url: string): void;
export declare function useEditor(): BaseEditor & ReactEditor & {
    blurSelection?: import("slate").BaseRange;
};
declare type PlainNode = {
    text?: string;
};
declare type LinkNode = {
    type: 'link';
    url: string;
};
declare type TextNode = {
    type: 'paragraph';
    bold?: boolean;
    italic?: boolean;
    underline?: boolean;
};
declare type NodeElement = BaseElement & (LinkNode | TextNode | PlainNode) & {
    children?: Array<NodeElement>;
};
declare module 'slate' {
    interface CustomTypes {
        Editor: BaseEditor & ReactEditor & {
            blurSelection?: BaseEditor['selection'];
        };
        Element: NodeElement;
    }
}
export declare class SlateUtilities {
    static UpdateValue(editor: CustomTypes['Editor'], values?: NodeElement[]): void;
}
