import { Component, TemplateFunction, ScopeBase } from "@ribajs/core";
import type { editor } from "monaco-editor";
interface Scope extends ScopeBase {
    dataValue: string;
    language?: string;
    theme: "vs" | "vs-dark" | "hc-black";
    readOnly: boolean;
    automaticLayout: boolean;
    minimapEnabled: boolean;
    formatDocument: boolean;
    htmlFormatTabSize: number;
    htmlFormatInsertSpaces: boolean;
    htmlFormatIndentHandlebars: boolean;
    htmlFormatWrapLineLength: number;
    htmlFormatUnformatted: string;
    htmlFormatContentUnformatted: string;
    htmlFormatExtraLiners: string;
    htmlFormatPreserveNewLines: boolean;
    htmlFormatMaxPreserveNewLines: number;
    htmlFormatEndWithNewline: boolean;
    htmlFormatIndentInnerHtml: boolean;
    htmlFormatWrapAttributes: "auto" | "force" | "force-aligned" | "force-expand-multiline";
}
export declare class MonacoEditorComponent extends Component {
    static tagName: string;
    protected autobind: boolean;
    _debug: boolean;
    protected editor?: editor.IStandaloneCodeEditor;
    static get observedAttributes(): string[];
    scope: Scope;
    constructor();
    protected connectedCallback(): void;
    protected beforeBind(): Promise<void>;
    protected afterBind(): Promise<void>;
    protected createEditor(value: any): Promise<void>;
    protected formatDocument(): void;
    protected setValue(value: any): void;
    protected requiredAttributes(): string[];
    protected parsedAttributeChangedCallback(attributeName: string, oldValue: any, newValue: any, namespace: string | null): void;
    protected disconnectedCallback(): void;
    protected template(): ReturnType<TemplateFunction>;
}
export {};
