/**
@license
Copyright 2018 The Advanced REST client authors <arc@mulesoft.com>
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
*/
import { nothing, TemplateResult } from 'lit';
import { editor, Uri } from 'monaco-editor';
import { MonacoSchema } from '../../monaco/types.js';
import ApiElement from '../ApiElement.js';
export default class BodyTextEditor extends ApiElement {
    accessor container: HTMLDivElement;
    protected modelUri?: Uri;
    protected valueInternal: string;
    /**
     * A HTTP body.
     * @attribute
     */
    get value(): string | undefined;
    set value(value: string | undefined);
    protected contentTypeInternal?: string;
    protected languageInternal?: string;
    /**
     * The current language of the editor. It is set via the `contentType`.
     */
    get language(): string | undefined;
    protected readOnlyValue: boolean;
    /**
     * Uses the current content type to detect language support.
     * @attribute
     */
    get contentType(): string | undefined;
    set contentType(value: string | undefined);
    /**
     * When set the editor is in read only mode.
     * @attribute
     */
    get readOnly(): boolean;
    set readOnly(value: boolean);
    protected monacoInstance?: editor.IStandaloneCodeEditor;
    get editor(): editor.IStandaloneCodeEditor | undefined;
    protected validationSchemas?: MonacoSchema[];
    get schemas(): MonacoSchema[] | undefined;
    set schemas(value: MonacoSchema[] | undefined);
    protected observer: ResizeObserver;
    /**
     * @attribute
     */
    accessor allowFormInfo: boolean | undefined;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    firstUpdated(): void;
    protected refreshDebouncer?: number;
    /**
     * Handler for the `resize` event provided by the resizable mixin.
     */
    protected resizeHandler(): void;
    /**
     * A function that is called from the `[resizeHandler]` in a timeout to reduce the number
     * of computations during the application initialization, where it can receive hundreds of
     * the `resize` events.
     */
    protected refreshEditor(): void;
    /**
     * @param lang New language to set
     */
    protected setLanguage(lang?: string): void;
    /**
     * Sets up editor actions
     */
    protected setupActions(inst: editor.IStandaloneCodeEditor): void;
    protected changeTimeout?: number;
    protected valueChanged(): void;
    /**
     * Generates Monaco configuration
     */
    protected generateEditorConfig(): editor.IStandaloneEditorConstructionOptions;
    protected getCurrentSchemas(): MonacoSchema[];
    protected createDefaultSchema(): MonacoSchema;
    protected updateEditorSchemas(schemas?: MonacoSchema[]): void;
    /**
     * @param prop The property to set
     */
    protected setEditorConfigProperty(prop: keyof editor.IEditorOptions, value: unknown): void;
    protected handleObservedResize(entries: ResizeObserverEntry[]): void;
    render(): TemplateResult;
    protected renderFormInfo(): TemplateResult | typeof nothing;
}
//# sourceMappingURL=BodyTextEditor.d.ts.map