import type { UmbCodeEditorController } from '../code-editor.controller.js'; import { CodeEditorTheme, type CodeEditorLanguage, type CodeEditorSearchOptions, type UmbCodeEditorHost } from '../models/index.js'; import type { PropertyValues } from '../../../external/lit/index.js'; import { UmbLitElement } from '../../core/lit-element/index.js'; declare const elementName = "umb-code-editor"; /** * A custom element that renders a code editor. Code editor is based on the Monaco Editor library. * The element will listen to the theme context and update the theme accordingly. * Parts of the monaco Api is exposed through the `editor` property. You can access the monaco editor instance through `editor.monacoEditor`. * @element umb-code-editor * @class UmbCodeEditorElement * @augments {UmbLitElement} * @implements {UmbCodeEditorHost} * @fires input - Fired when the value of the editor changes. * @fires change - Fired when the entire model of editor is replaced. * @fires loaded - Fired when the editor is loaded and ready to use. */ export declare class UmbCodeEditorElement extends UmbLitElement implements UmbCodeEditorHost { #private; get container(): HTMLElement; get editor(): UmbCodeEditorController | undefined; /** * Theme of the editor. Default is light. Element will listen to the theme context and update the theme accordingly. * @type {CodeEditorTheme} * @memberof UmbCodeEditorElement */ theme: CodeEditorTheme; /** * Language of the editor. Default is javascript. * @type {CodeEditorLanguage} * @memberof UmbCodeEditorElement */ language: CodeEditorLanguage; /** * Label of the editor. Default is 'Code Editor'. * @memberof UmbCodeEditorElement */ label?: string; /** * Value of the editor. Default is empty string. * @readonly * @memberof UmbCodeEditorElement */ get code(): string; set code(value: string); /** * Whether the editor is readonly. * @memberof UmbCodeEditorElement */ readonly: boolean; /** * Whether to show line numbers. * @memberof UmbCodeEditorElement */ disableLineNumbers: boolean; /** * Whether to show minimap. * @memberof UmbCodeEditorElement */ disableMinimap: boolean; /** * Whether to enable word wrap. Default is false. * @memberof UmbCodeEditorElement */ wordWrap: boolean; /** * Whether to enable folding. Default is true. * @memberof UmbCodeEditorElement */ disableFolding: boolean; private _loading; private _styles?; constructor(); firstUpdated(): Promise; protected updated(_changedProperties: PropertyValues): void; /** * Inserts text at the current cursor position. * @param {string} text * @memberof UmbCodeEditorElement */ insert(text: string): void; /** * Finds all occurrence of the given string or matches the given regular expression. * @param {string} text * @param searchOptions * @returns {*} * @memberof UmbCodeEditorElement */ find(text: string, searchOptions?: CodeEditorSearchOptions): import("../index.js").UmbCodeEditorRange[] | undefined; render(): import("lit-html").TemplateResult<1>; static styles: import("lit").CSSResult[]; } declare global { interface HTMLElementTagNameMap { [elementName]: UmbCodeEditorElement; } } export {};