import type { Range } from '@tiptap/core';
import React from 'react';
import type { AutopilotChatResourceItem } from './../../../service';
import { type CursorCoordinates } from './tiptap-resource-suggestion';
export interface TipTapEditorHandle {
    focus: () => void;
    insertResource: (resource: AutopilotChatResourceItem, range?: Range) => void;
    getSerializedContent: () => string;
    clear: () => void;
    clearMentionQuery: () => void;
    triggerMention: () => void;
    exitMention: () => void;
}
interface TipTapEditorCallbacks {
    onChange?: (value: string) => void;
    onKeyDown?: (event: KeyboardEvent) => boolean;
    onMentionStart?: (range: Range, coords: CursorCoordinates) => void;
    onMentionEnd?: () => void;
    onMentionQueryChange?: (query: string, range: Range) => void;
}
interface TipTapEditorProps extends TipTapEditorCallbacks {
    value?: string;
    placeholder?: string;
    minRows?: number;
    maxRows?: number;
    lineHeight?: string;
}
export declare const TipTapEditor: React.NamedExoticComponent<TipTapEditorProps & React.RefAttributes<TipTapEditorHandle>>;
export {};
//# sourceMappingURL=tiptap-editor.d.ts.map