import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import * as i0 from "@angular/core"; /** Maps custom code step language values to Monaco editor language IDs */ export declare const MONACO_LANGUAGE_MAP: Record; export interface CodeEditorMarker { message: string; severity: 'error' | 'warning' | 'info'; lineNumber: number; column?: number; } export declare class CodeEditorComponent implements OnInit, OnChanges, OnDestroy { value: string; language: string; label: string; required: boolean; placeholder: string; fullWidth: boolean; ariaLabel: string; minHeight: string; readOnly: boolean; /** External error messages (e.g. from form validation). Shown alongside syntax errors. */ errors: string[]; /** When true, use a plain textarea instead of Monaco (e.g. for Storybook where Monaco may not load) */ useFallback: boolean; valueChange: EventEmitter; validationChange: EventEmitter; blur: EventEmitter; monacoEditorRef: unknown; codeValue: string; validationErrors: CodeEditorMarker[]; editorOptions: Record; private editorInstance; private markersSubscription; private fallbackSyntaxTimer; private monacoMarkersTimer; ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; private updateEditorOptions; onCodeChange(newValue: string): void; onFallbackInput(event: Event): void; /** Debounced syntax check for fallback mode - avoids running on every keystroke */ private scheduleFallbackSyntaxCheck; /** Syntax validation for fallback (textarea) mode - JS/TS only */ private checkFallbackSyntax; onEditorInit(editor: { getModel?: () => { uri?: { toString?: () => string; }; }; onDidChangeModelContent?: (fn: () => void) => { dispose?: () => void; }; onDidBlurEditorWidget?: (fn: () => void) => { dispose?: () => void; }; }): void; /** Configure Monaco JS/TS language defaults to allow top-level await. * Sets module target to ESNext (enables top-level await as a module) and * suppresses error code 1308 ("await is only valid in async functions") which * Monaco incorrectly raises when code runs in an async context on the test runner. */ private configureMonacoForAsyncCode; private setupMarkersListener; get hasValidationErrors(): boolean; get hasErrors(): boolean; /** All error messages: external errors + syntax errors formatted as strings */ get allErrorMessages(): string[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }