import { SurveyModel, QuestionPanelDynamicModel, ItemValue, PanelModel, Base, Question, QuestionCommentModel } from "survey-core";
import { ISurveyCreatorOptions } from "../creator-settings";
import { PropertyEditorSetupValue } from "./index";
export declare class ConditionEditorItem {
    conjunction: string;
    questionName: string;
    operator: string;
    value: any;
}
export declare class SurveyConditionEditorItem extends ConditionEditorItem {
    survey: SurveyModel;
    constructor(survey: SurveyModel);
    getOperatorText(): string;
    getValueText(): string;
    get isValueRequired(): boolean;
    get isReady(): boolean;
    toExpression(): string;
    private getQuestionValueByName;
    private valToText;
    private isNumeric;
    private isQuote;
}
export declare class ConditionEditorItemsBuilder {
    private hasValue;
    constructor(hasValue?: (name: string) => boolean);
    build(text: string): Array<ConditionEditorItem>;
    private buildEditorItems;
    private buildEditorItemsCore;
    private buildEditorItemsAddConjunction;
    private buildEditorItemsAddBinaryOperand;
    private isVariableInSurvey;
    private getArrayValueFromOperand;
    private buildEditorItemsAddUnaryOperand;
    private getOppositeOperator;
    private getOperandByType;
    private canShowValueByOperator;
}
export declare class ConditionEditor extends PropertyEditorSetupValue {
    private propertyName;
    static canParseExpression(text: string): boolean;
    static canBuildExpression(text: string): boolean;
    static isOperatorEnabled(qType: string, operatorTypes: Array<string>): boolean;
    static isClassContains(qType: string, contains: Array<string>, notContains: Array<string>): boolean;
    private objectValue;
    private surveyValue;
    private contextValue;
    private panelValue;
    private textEditorValue;
    private addConditionQuestionsHash;
    private isModalValue;
    allConditionQuestions: Array<ItemValue>;
    onContextChanged: (context: Question) => void;
    constructor(survey: SurveyModel, object?: Base, options?: ISurveyCreatorOptions, propertyName?: string);
    get title(): string;
    set title(val: string);
    get isModal(): boolean;
    set isModal(val: boolean);
    protected updatePlaceholderVisibileIf(): void;
    protected getSurveyJSON(): any;
    protected getSurveyCreationReason(): string;
    get text(): string;
    set text(val: string);
    isModified(prevText: string): boolean;
    get context(): Question;
    set context(val: Question);
    private processText;
    get survey(): SurveyModel;
    get object(): Base;
    get panel(): QuestionPanelDynamicModel;
    get textEditor(): QuestionCommentModel;
    get isReady(): boolean;
    errorText: string;
    isEmpty(): boolean;
    hasErrorInUI(): boolean;
    apply(): boolean;
    setIsFastEntry(showTextEdit: boolean): void;
    private buildPanels;
    private isSettingPanelValues;
    private getIsOperatorEnabled;
    private isContainerQuestion;
    private setupConditionOperator;
    private updateConditionChoices;
    private setupConditionQuestionName;
    private setupRemoveQuestion;
    private setItemToPanel;
    private updateSurveyVariable;
    private getConditionQuestions;
    private getText;
    private getEditorItems;
    private createEditorItemFromPanel;
    private getQuestionNameFromPanel;
    private getContextIndexInfo;
    private getQuestionNameToPanel;
    private getContextFromPanels;
    private updateNamesOnContextChanged;
    private getContextByQuestionName;
    private getConditionQuestionText;
    private createAllConditionQuestions;
    private getContextObject;
    private get isItemValueObject();
    private addValuesIntoConditionQuestions;
    private addSurveyCalculatedValues;
    private mergeSelectBasedQuestions;
    private removeEntriesByValueName;
    private replaceQuestions;
    private mergeSelectBasedTwoQuestions;
    private mergeChoices;
    private calculatedValueQuestion;
    private getCalculatedValueQuestion;
    private getOperators;
    private rebuildQuestionValue;
    rebuildQuestionValueOnOperandChanging(panel: PanelModel): void;
    private canShowQuestionValue;
    private getConditionQuestion;
    private getQuestionConditionJson;
    private updateChoicesFromQuestion;
    private updateOperatorEnables;
    private updateQuestionsWidth;
    private get defaultOperator();
    private getDefaultOperatorByQuestionName;
    private getDefaultOperatorByQuestion;
    private getFirstEnabledOperator;
    private onPanelAdded;
    private onPanelValueChanged;
    private onUpdateQuestionCssClasses;
    private onValueChanged;
    private showTextEditor;
    private showBuilder;
    private getCanShowBuilder;
}
