import type { PropType } from 'vue'; import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, EditorState, ToolbarConfig } from '@aeriz/wysiwyg'; type Theme = 'light' | 'dark'; type Locale = 'en' | 'ko' | 'ja' | 'zh'; type HtmlStyles = 'inline' | 'class'; type UploadFn = (file: File) => Promise; export declare const AerizEditor: import("vue").DefineComponent; default: undefined; }; theme: { type: PropType; default: undefined; }; locale: { type: PropType; default: undefined; }; /** `getHTML()` · `onChange` 출력 전략. 기본 `'inline'`. */ htmlStyles: { type: PropType; default: undefined; }; onImageUpload: { type: PropType; default: undefined; }; imageUploadUrl: { type: StringConstructor; default: undefined; }; onFileUpload: { type: PropType; default: undefined; }; fileUploadUrl: { type: StringConstructor; default: undefined; }; }>, () => import("vue").VNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 'update:modelValue': (html: string) => boolean; change: (html: string) => boolean; 'state-change': (_state: EditorState) => true; ready: (_editor: AerizEditorCore) => true; }, string, import("vue").PublicProps, Readonly; default: undefined; }; theme: { type: PropType; default: undefined; }; locale: { type: PropType; default: undefined; }; /** `getHTML()` · `onChange` 출력 전략. 기본 `'inline'`. */ htmlStyles: { type: PropType; default: undefined; }; onImageUpload: { type: PropType; default: undefined; }; imageUploadUrl: { type: StringConstructor; default: undefined; }; onFileUpload: { type: PropType; default: undefined; }; fileUploadUrl: { type: StringConstructor; default: undefined; }; }>> & Readonly<{ onChange?: (html: string) => any; "onUpdate:modelValue"?: (html: string) => any; "onState-change"?: (_state: EditorState) => any; onReady?: (_editor: AerizEditorCore) => any; }>, { toolbar: false | ToolbarConfig; theme: Theme; placeholder: string; initialHTML: string; locale: Locale; htmlStyles: HtmlStyles; onImageUpload: UploadFn; imageUploadUrl: string; onFileUpload: UploadFn; fileUploadUrl: string; modelValue: string; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export declare const AerizViewer: import("vue").DefineComponent; default: undefined; }; /** 블록 대신 HTML 문자열을 넣을 때 사용. */ html: { type: StringConstructor; default: undefined; }; theme: { type: PropType; default: undefined; }; /** `getHTML()` 출력 전략. 기본 `'inline'`. */ htmlStyles: { type: PropType; default: undefined; }; }>, () => import("vue").VNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { ready: (_viewer: AerizViewerCore) => true; }, string, import("vue").PublicProps, Readonly; default: undefined; }; /** 블록 대신 HTML 문자열을 넣을 때 사용. */ html: { type: StringConstructor; default: undefined; }; theme: { type: PropType; default: undefined; }; /** `getHTML()` 출력 전략. 기본 `'inline'`. */ htmlStyles: { type: PropType; default: undefined; }; }>> & Readonly<{ onReady?: (_viewer: AerizViewerCore) => any; }>, { html: string; theme: Theme; htmlStyles: HtmlStyles; blocks: BlockSnapshot[]; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; /** `app.use(AerizWysiwygPlugin)` 로 두 컴포넌트를 전역 등록한다. */ export declare const AerizWysiwygPlugin: { install(app: { component(name: string, def: unknown): unknown; }): void; }; export type { AerizEditorProps, AerizViewerProps } from './shared.js'; //# sourceMappingURL=vue.d.ts.map