import * as _angular_core from '@angular/core';
import { ControlValueAccessor, Validators, NgControl } from '@angular/forms';
import { isInvalid } from '@masterteam/components';

type EditorDirection = 'ltr' | 'rtl' | 'auto';
declare class EditorField implements ControlValueAccessor {
    readonly label: _angular_core.InputSignal<string | undefined>;
    readonly placeholder: _angular_core.InputSignal<string | undefined>;
    readonly readonly: _angular_core.InputSignal<boolean>;
    readonly theme: _angular_core.InputSignal<"snow" | "bubble">;
    readonly height: _angular_core.InputSignal<string>;
    readonly dir: _angular_core.InputSignal<EditorDirection>;
    readonly modules: _angular_core.InputSignal<any>;
    readonly required: _angular_core.InputSignal<boolean>;
    requiredValidator: typeof Validators.required;
    value: _angular_core.WritableSignal<string | null>;
    disabled: _angular_core.WritableSignal<boolean>;
    onTouched: () => void;
    onChange: (value: any) => void;
    ngControl: NgControl | null;
    isInvalid: typeof isInvalid;
    constructor();
    onModelChange(value: string): void;
    onFocus(): void;
    writeValue(value: string): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorField, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorField, "mt-editor-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "modules": { "alias": "modules"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { EditorField };
export type { EditorDirection };
