import { Editor } from '@tiptap/core';
import type { Extensions } from '@tiptap/core';
import type { BlockEditorProps, BlockLinkEvent, BlockTranscludeEvent, SemanticTagEvent } from './types';
interface Props extends BlockEditorProps {
    blockId: string;
    content?: string;
    editable?: boolean;
    placeholder?: string;
    onContentChange?: (data: any) => void;
    onBlockFocus?: (blockId: string) => void;
    onBlockBlur?: (blockId: string) => void;
    onBlockLink?: (event: BlockLinkEvent) => void;
    onBlockTransclude?: (event: BlockTranscludeEvent) => void;
    onSemanticTag?: (event: SemanticTagEvent) => void;
    customExtensions?: Extensions;
    frameless?: boolean;
    draggable?: boolean;
    class?: string;
}
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
    new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
        $$bindings?: Bindings;
    } & Exports;
    (internal: unknown, props: Props & {
        $$events?: Events;
        $$slots?: Slots;
    }): Exports & {
        $set?: any;
        $on?: any;
    };
    z_$$bindings?: Bindings;
}
declare const BlockEditor: $$__sveltets_2_IsomorphicComponent<Props, {
    'content-changed': CustomEvent<{
        blockId: string;
        content: string;
        html: string;
        json: any;
        editor: Editor;
    }>;
    focus: CustomEvent<{
        blockId: string;
        editor: Editor;
    }>;
    blur: CustomEvent<{
        blockId: string;
        editor: Editor;
    }>;
    'block-linked': CustomEvent<{
        sourceBlockId: string;
        targetBlockId: string;
        linkText?: string;
        editor: Editor;
    }>;
    'block-transcluded': CustomEvent<{
        sourceBlockId: string;
        targetBlockId: string;
        editor: Editor;
    }>;
    'semantic-tagged': CustomEvent<{
        blockId: string;
        concepts: string[];
        editor: Editor;
    }>;
} & {
    [evt: string]: CustomEvent<any>;
}, {}, {}, "">;
type BlockEditor = InstanceType<typeof BlockEditor>;
export default BlockEditor;
//# sourceMappingURL=BlockEditor.svelte.d.ts.map