import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { editor } from 'monaco-editor'; import { ReplaySubject } from 'rxjs'; import { GioMonacoEditorConfig } from './models/GioMonacoEditorConfig'; import { GioLanguageJsonService } from './services/gio-language-json.service'; import { GioMonacoEditorService } from './services/gio-monaco-editor.service'; import { GioLanguageElService } from './services/gio-language-el.service'; import { JSONSchema } from './models/JSONSchemaAutoComplete'; import * as i0 from "@angular/core"; export type MonacoEditorLanguageConfig = { language: 'json'; schemas?: { uri: string; schema: unknown; }[]; } | { language: 'markdown'; } | { language: 'html'; } | { language: 'yaml'; } | { language: 'spel'; schema?: JSONSchema; } | { language: 'css'; }; export declare class GioMonacoEditorComponent implements ControlValueAccessor, AfterViewInit, OnDestroy { readonly hostElement: ElementRef; private readonly config; private readonly monacoEditorService; private readonly languageJsonService; private readonly languageSpelService; private readonly changeDetectorRef; private readonly ngZone; readonly ngControl: NgControl; languageConfig?: MonacoEditorLanguageConfig; options: editor.IStandaloneEditorConstructionOptions; disableMiniMap: boolean; disableAutoFormat: boolean; singleLineMode: boolean; loaded$: ReplaySubject; private defaultOptions; value: string; readOnly: boolean; standaloneCodeEditor?: editor.IStandaloneCodeEditor; private textModel?; private toDisposes; private isMonacoEditorReady; protected _onChange: (_value: string | null) => void; protected _onTouched: () => void; private unsubscribe$; constructor(hostElement: ElementRef, config: GioMonacoEditorConfig, monacoEditorService: GioMonacoEditorService, languageJsonService: GioLanguageJsonService, languageSpelService: GioLanguageElService, changeDetectorRef: ChangeDetectorRef, ngZone: NgZone, ngControl: NgControl); ngAfterViewInit(): void; ngOnDestroy(): void; writeValue(_value: string | null): void; registerOnChange(fn: (_value: string | null) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; private setupEditor; private setupLanguage; private updateModelLanguage; private autoformatValue; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }