import { type Raw } from 'vue';
import type { CKEditorError, EditorConfig } from 'ckeditor5';
import type { EditorErrorDescription, EditorWithWatchdogRelaxedConstructor } from './types.js';
import { ExtractEditorType } from '@ckeditor/ckeditor5-integrations-common';
import { type EditorWithAttachedWatchdog } from './utils/wrapWithWatchdogIfPresent.js';
declare const _default: <TEditorConstructor extends EditorWithWatchdogRelaxedConstructor>(__VLS_props: {
    readonly onReady?: ((editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
    readonly onDestroy?: ((editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
    readonly onBlur?: ((event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
    readonly onFocus?: ((event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
    readonly onInput?: ((data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
    readonly "onUpdate:modelValue"?: ((...args: unknown[]) => any) | undefined;
    readonly onError?: ((error: CKEditorError | Error, description: EditorErrorDescription<ExtractEditorType<TEditorConstructor>>) => any) | undefined;
    editor: TEditorConstructor;
    config?: EditorConfig | undefined;
    tagName?: string | undefined;
    disabled?: boolean | undefined;
    disableTwoWayDataBinding?: boolean | undefined;
    watchdogConfig?: import("ckeditor5").WatchdogConfig | undefined;
    disableWatchdog?: boolean | undefined;
    modelValue?: string | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    emit: ((evt: "ready", editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "destroy", editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "blur", event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "focus", event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "input", data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "update:modelValue", data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "error", error: CKEditorError | Error, description: EditorErrorDescription<ExtractEditorType<TEditorConstructor>>) => void) & ((evt: "update:modelValue", value: string) => void);
    attrs: any;
    slots: {};
} | undefined, __VLS_expose?: ((exposed: {
    instance: Raw<EditorWithAttachedWatchdog<ExtractEditorType<TEditorConstructor>>> | undefined;
    lastEditorData: string | undefined;
}) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        readonly onReady?: ((editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
        readonly onDestroy?: ((editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
        readonly onBlur?: ((event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
        readonly onFocus?: ((event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
        readonly onInput?: ((data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
        readonly "onUpdate:modelValue"?: ((...args: unknown[]) => any) | undefined;
        readonly onError?: ((error: CKEditorError | Error, description: EditorErrorDescription<ExtractEditorType<TEditorConstructor>>) => any) | undefined;
        editor: TEditorConstructor;
        config?: EditorConfig | undefined;
        tagName?: string | undefined;
        disabled?: boolean | undefined;
        disableTwoWayDataBinding?: boolean | undefined;
        watchdogConfig?: import("ckeditor5").WatchdogConfig | undefined;
        disableWatchdog?: boolean | undefined;
        modelValue?: string | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: {
        instance: Raw<EditorWithAttachedWatchdog<ExtractEditorType<TEditorConstructor>>> | undefined;
        lastEditorData: string | undefined;
    }): void;
    attrs: any;
    slots: {};
    emit: ((evt: "ready", editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "destroy", editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "blur", event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "focus", event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "input", data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "update:modelValue", data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "error", error: CKEditorError | Error, description: EditorErrorDescription<ExtractEditorType<TEditorConstructor>>) => void) & ((evt: "update:modelValue", value: string) => void);
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            readonly onReady?: ((editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
            readonly onDestroy?: ((editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
            readonly onBlur?: ((event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
            readonly onFocus?: ((event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
            readonly onInput?: ((data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => any) | undefined;
            readonly "onUpdate:modelValue"?: ((...args: unknown[]) => any) | undefined;
            readonly onError?: ((error: CKEditorError | Error, description: EditorErrorDescription<ExtractEditorType<TEditorConstructor>>) => any) | undefined;
            editor: TEditorConstructor;
            config?: EditorConfig | undefined;
            tagName?: string | undefined;
            disabled?: boolean | undefined;
            disableTwoWayDataBinding?: boolean | undefined;
            watchdogConfig?: import("ckeditor5").WatchdogConfig | undefined;
            disableWatchdog?: boolean | undefined;
            modelValue?: string | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: {
            instance: Raw<EditorWithAttachedWatchdog<ExtractEditorType<TEditorConstructor>>> | undefined;
            lastEditorData: string | undefined;
        }): void;
        attrs: any;
        slots: {};
        emit: ((evt: "ready", editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "destroy", editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "blur", event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "focus", event: import("ckeditor5").EventInfo<string, unknown>, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "input", data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "update:modelValue", data: string, event: import("ckeditor5").EventInfo<string, unknown> | null, editor: ExtractEditorType<TEditorConstructor>) => void) & ((evt: "error", error: CKEditorError | Error, description: EditorErrorDescription<ExtractEditorType<TEditorConstructor>>) => void) & ((evt: "update:modelValue", value: string) => void);
    } | undefined;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
