import { CSSProperties, PropType } from 'vue';
import { JSX } from 'vue/jsx-runtime';
import { ContentOptions, RefineContext } from './context';
import { IAnchor, ListenModeEnum, PluginFlag } from '../../../typings';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    preTime: {
        type: StringConstructor;
        default: string;
    };
    realTime: {
        type: StringConstructor;
        default: string;
    };
    textCount: {
        type: NumberConstructor;
        default: number;
    };
    highlight: {
        type: BooleanConstructor;
        default: undefined;
    };
    listenAnchorId: {
        type: NumberConstructor;
        default: number;
    };
    listenMode: {
        type: PropType<ListenModeEnum>;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    simple: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxLength: {
        type: NumberConstructor;
        default: number;
    };
    showWordLimit: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    class: {
        type: (ArrayConstructor | StringConstructor)[];
        default: () => never[];
    };
    contentStyle: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    /**
     * 是否开启文本调优
     */
    refinable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 文本调优上下文
     */
    refineContext: {
        type: PropType<RefineContext>;
    };
}>, {
    action: import("vue").Ref<import("../../hooks/use-editor").EditorAction | undefined, import("../../hooks/use-editor").EditorAction | undefined>;
    innerRender: () => JSX.Element;
    innerGetContent: (_options?: ContentOptions) => string;
    innerSetContent: (content: string) => Promise<void>;
    innerAppendContent: (content: string | string[]) => Promise<void>;
    innerGetTextContent: () => string[];
    innerInsertContent: (content: string | Node) => void;
    innerDeleteContent: () => void;
    innerUpdateContent: (content: string | Node) => void;
    innerIsCaret: () => boolean;
    innerIsRange: () => boolean;
    innerIsSelectionInDifferentParas: () => boolean;
    innerIsSelectionContainsTag: (type: PluginFlag) => boolean;
    innerGetAnchorTtsMark: (id: number, startFromCursor?: boolean) => string;
    innerGetAnchorTtsEmotionAndRole: (id: number) => [string, string | undefined];
    innerIsAllMarkedByAnchor: () => boolean;
    innerAddExtraAnchors: (data: IAnchor[]) => void;
    innerClearContent: () => void;
    innerRenderHightlight: (matchingContent: string) => void;
    innerUnrenderHightlight: () => void;
}, {}, {}, {
    getContent(options?: ContentOptions): string;
    getHtml(options: ContentOptions): string;
    setContent(content: string): Promise<void>;
    setHtml(content: string): Promise<void>;
    appendContent(content: string | string[]): Promise<void>;
    getTextContent(): string[];
    insertContent(content: string | Node): void;
    deleteContent(): void;
    updateContent(content: string | Node): void;
    isCaret(): boolean;
    isRange(): boolean;
    isSelectionInDifferentParas(): boolean;
    isSelectionContainsTag(type: PluginFlag): boolean;
    getAnchorTtsMark(id: number, startFromCursor?: boolean): string;
    getAnchorTtsEmotionAndRole(id: number): [string, string | undefined];
    isAllMarkedByAnchor(): boolean;
    addExtraAnchors(data: IAnchor[]): void;
    clearContent(): void;
    clear(): Promise<void>;
    renderHighlight(matchingContent: string): void;
    unrenderHighlight(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    change: (contentLength: number) => true;
    'update:textCount': (value: number) => true;
    anchorListen: (value: IAnchor, text: string) => true;
    anchorListenStop: (value: IAnchor) => true;
    anchorRemove: (value: IAnchor) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    preTime: {
        type: StringConstructor;
        default: string;
    };
    realTime: {
        type: StringConstructor;
        default: string;
    };
    textCount: {
        type: NumberConstructor;
        default: number;
    };
    highlight: {
        type: BooleanConstructor;
        default: undefined;
    };
    listenAnchorId: {
        type: NumberConstructor;
        default: number;
    };
    listenMode: {
        type: PropType<ListenModeEnum>;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    simple: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxLength: {
        type: NumberConstructor;
        default: number;
    };
    showWordLimit: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    class: {
        type: (ArrayConstructor | StringConstructor)[];
        default: () => never[];
    };
    contentStyle: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    /**
     * 是否开启文本调优
     */
    refinable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 文本调优上下文
     */
    refineContext: {
        type: PropType<RefineContext>;
    };
}>> & Readonly<{
    onChange?: ((contentLength: number) => any) | undefined;
    "onUpdate:textCount"?: ((value: number) => any) | undefined;
    onAnchorListen?: ((value: IAnchor, text: string) => any) | undefined;
    onAnchorRemove?: ((value: IAnchor) => any) | undefined;
    onAnchorListenStop?: ((value: IAnchor) => any) | undefined;
}>, {
    highlight: boolean;
    class: string | unknown[];
    disabled: boolean;
    placeholder: string;
    maxLength: number;
    showWordLimit: boolean;
    simple: boolean;
    preTime: string;
    realTime: string;
    textCount: number;
    listenAnchorId: number;
    listenMode: ListenModeEnum;
    contentStyle: CSSProperties;
    refinable: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
