import { SurveyModel, Action, QuestionMatrixDynamicModel } from "survey-core";
import { ConditionEditor } from "../../property-grid/condition-survey";
import { ISurveyCreatorOptions } from "../../creator-settings";
import { LogicItemEditor } from "./logic-item-editor";
import { SurveyLogicAction, SurveyLogicItem } from "./logic-items";
import { SurveyLogic } from "./logic";
import "./logic-ui.scss";
export declare class SurveyLogicUI extends SurveyLogic {
    survey: SurveyModel;
    options: ISurveyCreatorOptions;
    private expressionEditorValue;
    private itemEditorValue;
    itemsSurveyValue: SurveyModel;
    expressionEditorIsFastEntry: boolean;
    expressionEditorCanShowBuilder: boolean;
    private visibleItems;
    private itemUIHash;
    addNewButton: Action;
    constructor(survey: SurveyModel, options?: ISurveyCreatorOptions);
    update(survey?: SurveyModel, options?: ISurveyCreatorOptions): void;
    questionFilter: string;
    actionTypeFilter: string;
    dispose(): void;
    addNewUI(): void;
    toggleExpressionEditorIsFastEntry(): void;
    updateEditableItemIsModifiedState(): void;
    private getUnsavedItems;
    private getErroredItem;
    private isErroredItem;
    private showErroredItem;
    private saveItem;
    tryLeaveUI(resultFunc?: (res: boolean) => void): boolean | undefined;
    protected confirmLeavingOnError(onLeaving: () => void, onStaying: () => void): boolean;
    protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
    protected onReadOnlyChanged(): void;
    get expressionEditor(): ConditionEditor;
    get itemEditor(): LogicItemEditor;
    getExpressionEditor(item: SurveyLogicItem): ConditionEditor;
    getLogicItemEditor(item: SurveyLogicItem): LogicItemEditor;
    private updateEditModeLogicItem;
    private getLogicItemUI;
    private findLogicItemUI;
    get expressionSurvey(): SurveyModel;
    get itemEditorSurvey(): SurveyModel;
    get itemsSurvey(): SurveyModel;
    get hasItems(): boolean;
    get matrixItems(): QuestionMatrixDynamicModel;
    protected onStartEditing(): void;
    protected onEndEditing(): void;
    protected onEditableItemApply(): void;
    private doItemApply;
    protected hasErrorInUI(): boolean;
    protected getExpressionText(): string;
    protected getEditingActions(): Array<SurveyLogicAction>;
    protected getLogicItemSurveyJSON(): any;
    private getTwoColumnsLayout;
    private getOneColumnLayout;
    private createExpressionPropertyEditor;
    private getVisibleItems;
    private getDataFromItem;
    private getLogicItemDisplayText;
    private updateItemsSurveyData;
    private updateRenderedRows;
    private updateRowIsAdditionalClasses;
    private updateNewActionState;
    private setupToolbarItems;
    get addNewText(): string;
    get emptyTabPlaceholder(): string;
    get placeholderTitleText(): string;
    get placeholderDescriptionText(): string;
}
