import { UmbLitElement } from '../../../core/lit-element/index.js';
import type { UmbCodeEditorElement } from '../../../code-editor/index.js';
import type { UUIModalSidebarSize } from '../../../../external/uui/index.js';
declare const UmbInputMarkdownElement_base: import("../../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../../core/validation/index.js").UmbFormControlMixinElement<string | undefined>> & typeof UmbLitElement;
/**
 * @element umb-input-markdown
 * @fires change - when the value of the input changes
 */
export declare class UmbInputMarkdownElement extends UmbInputMarkdownElement_base {
    #private;
    protected getFormElement(): UmbCodeEditorElement | undefined;
    preview: boolean;
    overlaySize?: UUIModalSidebarSize;
    /**
     * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.
     * @type {boolean}
     * @attr
     * @default
     */
    get readonly(): boolean;
    set readonly(value: boolean);
    required?: boolean;
    requiredMessage?: string;
    private _codeEditor?;
    private _actionExtensions;
    constructor();
    private _focusEditor;
    private _insertLine;
    private _insertBetweenSelection;
    private _insertAtCurrentLine;
    private _insertQuote;
    render(): import("lit-html").TemplateResult<1>;
    static styles: import("lit").CSSResult[];
}
export default UmbInputMarkdownElement;
declare global {
    interface HTMLElementTagNameMap {
        'umb-input-markdown': UmbInputMarkdownElement;
    }
}
