import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { SdBaseSecureComponent } from '@sd-angular/core/components/base';
import { SdModal } from '@sd-angular/core/components/modal';
import { Attribute, SdFormGenericComponent, SdFormGenericExpression, SdFormGenericGroup } from '../../models';
import { ExpressionFeelPipe } from '../../pipes';
import { FormGenericService } from '../../services';
import * as i0 from "@angular/core";
export declare class SdFeelExpression extends SdBaseSecureComponent {
    #private;
    private ref;
    private expressionFeelPipe;
    private formGenericService;
    modal?: SdModal;
    form: FormGroup<{}>;
    attributeOperators: Record<"string" | "number" | "boolean" | "datetime" | "values", {
        value: import("@sd-angular/core/components/workflow").Operator;
        symbol?: string;
        display: string;
    }[]>;
    attributes: Attribute[];
    attribute: Record<string, Attribute>;
    components: (SdFormGenericComponent | SdFormGenericGroup)[];
    expression?: SdFormGenericExpression;
    set _expression(expression: SdFormGenericExpression | undefined);
    expressionChange: EventEmitter<SdFormGenericExpression>;
    model?: string;
    set _model(model: string | undefined);
    modelChange: EventEmitter<string>;
    sdChange: EventEmitter<{
        model?: string;
        expression?: SdFormGenericExpression;
    }>;
    constructor(ref: ChangeDetectorRef, expressionFeelPipe: ExpressionFeelPipe, formGenericService: FormGenericService);
    ngOnInit(): void;
    edit: () => Promise<void>;
    addCondition: (conditions: SdFormGenericExpression["conditions"]) => void;
    addCombinator: (conditions: SdFormGenericExpression["conditions"]) => void;
    remove: (conditions: SdFormGenericExpression["conditions"], idx: number) => void;
    onAccept: () => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdFeelExpression, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SdFeelExpression, "sd-feel-expression", never, { "components": { "alias": "components"; "required": true; }; "_expression": { "alias": "expression"; "required": true; }; "_model": { "alias": "model"; "required": true; }; }, { "expressionChange": "expressionChange"; "modelChange": "modelChange"; "sdChange": "sdChange"; }, never, never, true, never>;
}
