/// <reference path="../../index.d.ts" />
import { PublicLitElement as LitElement, TargetedEvent, JsxNode } from '@arcgis/lumina';
import { PropertyValues } from 'lit';
import { EditorType, InputMentionField } from './types';

type Editor = any;
/** [Read more...](https://developers.arcgis.com/javascript/latest/references/common-components/arcgis-ckeditor5/) */
export declare class ArcgisCkeditor5 extends LitElement {
    /**
     * Base configuration for editor
     *
     * @default "html"
     */
    editorType?: EditorType;
    /**
     * Config to customize editor (will be merged with default config)
     * Default config will match html or markdown editor here:https://devtopia.esri.com/WebGIS/ckeditor5-build-classic.
     * Also includes default language and field expression mentions settings
     */
    customConfig?: any;
    /** Input data for editor in html / markdown text format */
    textData?: string;
    /**
     * The toolbar will be hidden and the data will only be changeable through the `textData` prop if true
     *
     * @default false
     */
    readOnly?: boolean;
    /**
     * List of fields/expressions for the default mentions implementation
     * If you don't want mentions or are customizing the mention feed in customConfig, you do not need to supply this
     */
    mentionFields?: InputMentionField[];
    /**
     * Placeholder text for editor
     *
     * @default ""
     */
    intlTextPlaceHolder: string;
    /**
     * Header text for expressions mention dropdown (assuming default mention configuration)
     *
     * @default ""
     */
    intlExpressionsGroupHeading: string;
    /**
     * Header text for fields in mention dropdown (assuming default mention configuration)
     *
     * @default ""
     */
    intlFieldsGroupHeading: string;
    /**
     * language for ckeditor
     *
     * @default "en"
     */
    currentLanguage: string;
    /**
     * The editor's text area will have a vertical resize handle if set to true
     *
     * @default false
     */
    canResizeVertically?: boolean | undefined;
    /**
     * The fields / expressions in the default mention configuration will be grouped if set to true
     *
     * @default false
     */
    groupFieldsAndExpressions?: boolean | undefined;
    /** The function that will be used to distinguish expressions from fields in the default mention configuration */
    customExpressionCheck?: (field: {
        id: string;
        name: string;
    }) => boolean;
    /** Get the current data in the editor. */
    getData(): Promise<any>;
    /** Set focus on the component. */
    setFocus(): Promise<void>;
    /** @deprecated use arcgisCreated instead */
    readonly arcgisCkeditor5Created: TargetedEvent<this, import('@arcgis/lumina').ToElement<ArcgisCkeditor5>>;
    /** @deprecated use arcgisDataUpdated instead */
    readonly arcgisCkeditor5DataUpdated: TargetedEvent<this, string>;
    /** @deprecated use arcgisSourceEditingChanged instead */
    readonly arcgisCkeditor5SourceEditingChanged: TargetedEvent<this, boolean>;
    /** Emitted when the editor has been created. */
    readonly arcgisCreated: TargetedEvent<this, import('@arcgis/lumina').ToElement<ArcgisCkeditor5>>;
    /** Emitted when the editor's data has been updated. */
    readonly arcgisDataUpdated: TargetedEvent<this, string>;
    /** Emitted when the editor's source editing mode has changed. */
    readonly arcgisSourceEditingChanged: TargetedEvent<this, boolean>;
    "@eventTypes": {
        "arcgisCkeditor5Created": ArcgisCkeditor5["arcgisCkeditor5Created"]["detail"];
        "arcgisCkeditor5DataUpdated": ArcgisCkeditor5["arcgisCkeditor5DataUpdated"]["detail"];
        "arcgisCkeditor5SourceEditingChanged": ArcgisCkeditor5["arcgisCkeditor5SourceEditingChanged"]["detail"];
        "arcgisCreated": ArcgisCkeditor5["arcgisCreated"]["detail"];
        "arcgisDataUpdated": ArcgisCkeditor5["arcgisDataUpdated"]["detail"];
        "arcgisSourceEditingChanged": ArcgisCkeditor5["arcgisSourceEditingChanged"]["detail"];
    };
}
export {};
