import { EventEmitter } from '@angular/core';
import { ClassicEditor } from 'ckeditor5';
import { ControlValueAccessor } from '@angular/forms';
import { SdMiniEditorOption, SdMiniEditorConfig } from './mini-editor.model';
import * as i0 from "@angular/core";
/**
 * Component sd-mini-editor - Editor đơn giản cho comment input
 * Sử dụng CKEditor với chế độ đơn giản (bold, italic, link)
 * Hỗ trợ mention và output format (html/markdown)
 *
 * @example
 * ```html
 * <sd-mini-editor
 *   [option]="editorOption"
 *   [(ngModel)]="content"
 *   (contentChange)="onContentChange($event)"
 * >
 * </sd-mini-editor>
 * ```
 */
export declare class SdMiniEditor implements ControlValueAccessor {
    #private;
    /** Cấu hình option cho editor */
    option: SdMiniEditorOption;
    /** NgModel binding - nội dung HTML/Markdown */
    value: string;
    valueChange: EventEmitter<string>;
    /** Event emitter khi content thay đổi */
    contentChange: EventEmitter<string>;
    /** Event emitter khi blur */
    blur: EventEmitter<FocusEvent>;
    /** Event emitter khi focus */
    focus: EventEmitter<FocusEvent>;
    /** Disabled state */
    disabled: boolean;
    Editor: typeof ClassicEditor;
    get editorConfig(): SdMiniEditorConfig;
    constructor();
    ngOnDestroy(): void;
    /**
     * Xử lý khi editor ready
     */
    onReady(editor: ClassicEditor): void;
    /**
     * Set nội dung cho editor
     */
    setContent(content: string): void;
    /**
     * Get nội dung từ editor
     */
    getContent(): string;
    /**
     * Get nội dung HTML gốc (không convert)
     */
    getHtmlContent(): string;
    /**
     * Focus vào editor
     */
    focusEditor(): void;
    /**
     * Insert mention vào vị trí con trỏ hiện tại
     */
    insertMention(item: {
        id: string;
        name: string;
        marker?: string;
    }): void;
    /**
     * Get danh sách mentions trong nội dung
     */
    getMentions(): Array<{
        id: string;
        name: string;
        marker: string;
    }>;
    /**
     * ControlValueAccessor: Write value
     */
    writeValue(value: string): void;
    /**
     * ControlValueAccessor: Register change callback
     */
    registerOnChange(fn: (value: string) => void): void;
    /**
     * ControlValueAccessor: Register touched callback
     */
    registerOnTouched(fn: () => void): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdMiniEditor, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SdMiniEditor, "sd-mini-editor", never, { "option": { "alias": "option"; "required": true; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChange": "valueChange"; "contentChange": "contentChange"; "blur": "blur"; "focus": "focus"; }, never, never, true, never>;
}
