import { FormControl } from '@angular/forms'; import { TemplateRef } from '@angular/core'; import { DefaultModel } from 'tql-service'; import { Subscription } from 'rxjs'; import { CodemirrorComponent } from '@ctrl/ngx-codemirror'; export declare class CodeEditorModel extends DefaultModel { name: string; /** * language mode of editor * @param v */ _mode: CodeEditorModel.ENUM_MODES; set mode(v: CodeEditorModel.ENUM_MODES); get mode(): CodeEditorModel.ENUM_MODES; /** * content of editor * @param v */ _content: FormControl; content$: Subscription; contentData: any; set content(v: FormControl); get content(): FormControl; /** * custom template for editor * @type {TemplateRef} */ template?: TemplateRef; /** * specific data * @type {any} */ data: any; /** * editor * @param v */ editorOptions: any; _editorComponent: CodemirrorComponent; set editorComponent(v: CodemirrorComponent); get editorComponent(): CodemirrorComponent; /** * set read only * @param v */ set readOnly(v: boolean); _saveFn: Function; set saveFn(v: ($event: CodeEditorModel) => Promise); constructor(_data?: any); hasUnsaved(): boolean; isEmpty(): boolean; save(): void; _setSaved(): void; format(): void; setName(name: string): void; setData(data: any): void; setMode(mode: CodeEditorModel.ENUM_MODES): void; } export declare namespace CodeEditorModel { enum ENUM_MODES { NONE = "", HTML = "html", JSON = "json", XML = "xml", JS = "js", BML = "bml", IMAGE = "image", CDM = "cdm", TCL = "tcl" } enum ENUM_CODEMIRROR_MODES { NONE = "text/webassembly", HTML = "text/html", JSON = "application/ld+json", XML = "application/xml", JS = "application/javascript", BML = "text/x-yaml", IMAGE = "", CDM = "text/x-yaml", TCL = "text/x-tcl" } enum ENUM_THEMES { DARK = "ayu-dark custom" } }