import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, Renderer2 } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import * as i0 from "@angular/core";
export declare class TransferValueAccessor implements ControlValueAccessor, AfterViewInit, OnDestroy {
    private readonly elementRef;
    private readonly renderer;
    ngModel: any;
    ngModelChange: EventEmitter<any>;
    variableId: string;
    isDisabled: boolean;
    quickActions: SmzQuickAction[];
    private observer;
    private onTouched;
    private onChange;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onInput(): void;
    onFocus(): void;
    onBlur(): void;
    onKeydown(e: KeyboardEvent): void;
    onKeypress(e: KeyboardEvent): void;
    writeValue(value: string | null): void;
    registerOnChange(onChange: (value: string) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState(disabled: boolean): void;
    private static mapValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<TransferValueAccessor, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TransferValueAccessor, "[transfervalue][formControlName], [transfervalue][formControl], [transfervalue][ngModel]", never, { "ngModel": { "alias": "ngModel"; "required": false; }; "variableId": { "alias": "variableId"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "quickActions": { "alias": "quickActions"; "required": false; }; }, { "ngModelChange": "ngModelChange"; }, never, never, false, never>;
}
export interface SmzQuickAction {
    keycode: number;
    callback: () => void;
}
export declare function hasVariableInsideSelection(): boolean;
export declare function isCursorInsideVariable(): boolean;
