declare module "packages/survey-core/src/global_variables_utils" {
    export class DomWindowHelper {
        static isAvailable(): boolean;
        static isFileReaderAvailable(): boolean;
        static getLocation(): Location;
        static getVisualViewport(): VisualViewport | null;
        static getInnerWidth(): number;
        static getInnerHeight(): number;
        static getDevicePixelRatio(): number;
        static getWindow(): Window;
        static hasOwn(propertyName: string): boolean;
        static getSelection(): Selection | null;
        static requestAnimationFrame(callback: FrameRequestCallback): number;
        static addEventListener(type: string, listener: (e?: any) => void): void;
        static removeEventListener(type: string, listener: (e?: any) => void): void;
        static matchMedia(mediaQueryString: string): {
            matches: boolean;
        } | null;
    }
    export class DomDocumentHelper {
        static isAvailable(): boolean;
        static getBody(): HTMLElement;
        static getDocumentElement(): HTMLElement;
        static getDocument(): Document;
        static getCookie(): string;
        static setCookie(newCookie: string): void;
        static activeElementBlur(): Document;
        static createElement(tagName: string): HTMLElement;
        static getComputedStyle(elt: Element): CSSStyleDeclaration;
        static addEventListener(type: string, listener: (e?: any) => void): void;
        static removeEventListener(type: string, listener: (e?: any) => void): void;
    }
}
declare module "packages/survey-core/src/helpers" {
    export interface HashTable<T = any> {
        [key: string]: T;
    }
    export interface IEqualValuesParameters {
        ignoreOrder?: boolean;
        caseSensitive?: boolean;
        trimStrings?: boolean;
        doNotConvertNumbers?: boolean;
    }
    export function createDate(reason: string, val?: number | string | Date): Date;
    export class Helpers {
        /**
         * A static methods that returns true if a value undefined, null, empty string or empty array.
         * @param value
         */
        static isValueEmpty(value: any): boolean;
        static isValueUndefined(value: any): boolean;
        static isArrayContainsEqual(x: any, y: any): boolean;
        static checkIfArraysEqual(x: any, y: any, params: IEqualValuesParameters): boolean;
        static isArraysEqual(x: any, y: any, ignoreOrder?: boolean, caseSensitive?: boolean, trimStrings?: boolean): boolean;
        static compareStrings(x: string, y: string): number;
        static checkIfValuesEqual(x: any, y: any, params: IEqualValuesParameters): boolean;
        static isTwoValueEquals(x: any, y: any, ignoreOrder?: boolean, caseSensitive?: boolean, trimStrings?: boolean): boolean;
        static randomizeArray<T>(array: Array<T>): Array<T>;
        static getUnbindValue(value: any): any;
        static createCopy(obj: any): any;
        static createCopyWithPrefix(obj: any, prefix?: string): any;
        static isConvertibleToNumber(value: any): boolean;
        static isValueObject(val: any, excludeArray?: boolean): boolean;
        static isNumber(value: any): boolean;
        static getNumber(value: any): number;
        private static getNumberCore;
        private static isStringHasOperator;
        private static prepareStringToNumber;
        static getMaxLength(maxLength: number, surveyLength: number): any;
        static getRemainingCharacterCounterText(newValue: string | undefined, maxLength: number | null): string;
        static getNumberByIndex(index: number, startIndexStr: string, parentIndex?: number): string;
        static isCharNotLetterAndDigit(ch: string): boolean;
        static isCharDigit(ch: string): boolean;
        static isDigitsOnly(str: string): boolean;
        private static getNumberFromStr;
        private static countDecimals;
        static correctAfterPlusMinis(a: number, b: number, res: number): number;
        static sumAnyValues(a: any, b: any): any;
        static correctAfterMultiple(a: number, b: number, res: number): number;
        static convertArrayValueToObject(src: Array<any>, propName: string, dest?: Array<any>): Array<any>;
        private static findObjByPropValue;
        static convertArrayObjectToValue(src: Array<any>, propName: string): Array<any>;
        static convertDateToString(date: Date): string;
        static convertDateTimeToString(date: Date): string;
        static convertValToQuestionVal(val: any, inputType?: string): any;
        static compareVerions(ver1: string, ver2: string): number;
        static isUrlYoutubeVideo(url: string): boolean;
    }
}
declare module "packages/survey-core/src/localization/english" {
    export var englishStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/surveyStrings" {
    export var surveyLocalization: {
        currentLocaleValue: string;
        defaultLocaleValue: string;
        locales: {
            [index: string]: any;
        };
        localeNames: {
            [index: string]: any;
        };
        localeNamesInEnglish: {
            [index: string]: any;
        };
        localeDirections: {
            [index: string]: any;
        };
        supportedLocales: any[];
        useEnglishNames: boolean;
        showNamesInEnglish: boolean;
        setupLocale(localeConfig: {
            localeCode: string;
            strings: any;
            nativeName: string;
            englishName: string;
            rtl?: boolean;
        }): void;
        currentLocale: string;
        defaultLocale: string;
        getCorrectLocaleName(loc: string): string;
        getLocaleStrings(loc: string): any;
        getString: (strName: string, locale?: string) => any;
        getLocaleName(loc: string, inEnglish?: boolean): string;
        getLocales: (removeDefaultLoc?: boolean) => Array<string>;
        onGetExternalString: (name: string, locale: string) => string;
    };
    export function getLocaleString(strName: string, locale?: string): string;
    export function getLocaleStrings(locale: string): any;
    export function setupLocale(localeConfig: {
        localeCode: string;
        strings: any;
        nativeName: string;
        englishName: string;
        rtl?: boolean;
    }): void;
    export var surveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/conditionProcessValue" {
    import { HashTable } from "packages/survey-core/src/helpers";
    export class ProcessValue {
        values: HashTable<any>;
        properties: HashTable<any>;
        asyncValues: HashTable<any>;
        onCompleteAsyncFunc: (op: any) => void;
        constructor();
        getFirstName(text: string, obj?: any): string;
        hasValue(text: string, values?: HashTable<any>): boolean;
        getValue(text: string, values?: HashTable<any>): any;
        setValue(obj: any, text: string, value: any): void;
        getValueInfo(valueInfo: any): void;
        isAnyKeyChanged(keys: any, usedNames: string[]): boolean;
        private getValueFromPath;
        private getValueCore;
        private getQuestionDirectly;
        private getValueFromSurvey;
        private getValueFromValues;
        private getNonNestedObject;
        private getObjInArray;
        private getFirstPropertyName;
        private getObjectValue;
        private getIntValue;
    }
}
declare module "packages/survey-core/src/console-warnings" {
    export class ConsoleWarnings {
        static disposedObjectChangedProperty(propName: string, objType: string): void;
        static inCorrectQuestionValue(questionName: string, val: any): void;
        static warn(text: string): void;
        static error(text: string): void;
    }
}
declare module "packages/survey-core/src/functionsfactory" {
    import { HashTable } from "packages/survey-core/src/helpers";
    export class FunctionFactory {
        static Instance: FunctionFactory;
        private functionHash;
        private isAsyncHash;
        register(name: string, func: (params: any[], originalParams?: any[]) => any, isAsync?: boolean): void;
        unregister(name: string): void;
        hasFunction(name: string): boolean;
        isAsyncFunction(name: string): boolean;
        clear(): void;
        getAll(): Array<string>;
        run(name: string, params: any[], properties: HashTable<any>, originalParams: any[]): any;
    }
    export var registerFunction: (name: string, func: (params: any[], originalParams?: any[]) => any, isAsync?: boolean) => void;
}
declare module "packages/survey-core/src/expressions/expressions" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { ProcessValue } from "packages/survey-core/src/conditionProcessValue";
    export interface AsyncFunctionItem {
        operand?: FunctionOperand;
        parent?: AsyncFunctionItem;
        children?: Array<AsyncFunctionItem>;
    }
    export abstract class Operand {
        private static counter;
        private _id;
        readonly id: number;
        toString(func?: (op: Operand) => string): string;
        abstract getType(): string;
        abstract evaluate(processValue?: ProcessValue): any;
        abstract setVariables(variables: Array<string>): any;
        hasFunction(): boolean;
        hasAsyncFunction(): boolean;
        addToAsyncList(list: Array<AsyncFunctionItem>): void;
        addOperandsToList(list: Array<Operand>): void;
        isEqual(op: Operand): boolean;
        protected abstract isContentEqual(op: Operand): boolean;
        protected areOperatorsEquals(op1: Operand, op2: Operand): boolean;
        protected addChildrenToList(list: Array<Operand>): void;
    }
    export class BinaryOperand extends Operand {
        private operatorName;
        private left;
        private right;
        private consumer;
        private isArithmeticValue;
        constructor(operatorName: string, left?: any, right?: any, isArithmeticOp?: boolean);
        private readonly requireStrictCompare: any;
        private getIsOperandRequireStrict;
        getType(): string;
        readonly isArithmetic: boolean;
        readonly isConjunction: boolean;
        readonly conjunction: string;
        readonly operator: string;
        readonly leftOperand: any;
        readonly rightOperand: any;
        protected isContentEqual(op: Operand): boolean;
        private evaluateParam;
        evaluate(processValue?: ProcessValue): any;
        toString(func?: (op: Operand) => string): string;
        setVariables(variables: Array<string>): void;
        hasFunction(): boolean;
        protected addChildrenToList(list: Array<Operand>): void;
        hasAsyncFunction(): boolean;
        addToAsyncList(list: Array<AsyncFunctionItem>): void;
    }
    export class UnaryOperand extends Operand {
        private expressionValue;
        private operatorName;
        private consumer;
        constructor(expressionValue: Operand, operatorName: string);
        readonly operator: string;
        readonly expression: Operand;
        getType(): string;
        toString(func?: (op: Operand) => string): string;
        private readonly isRigtOperator: any;
        protected isContentEqual(op: Operand): boolean;
        hasFunction(): boolean;
        protected addChildrenToList(list: Array<Operand>): void;
        hasAsyncFunction(): boolean;
        addToAsyncList(list: Array<AsyncFunctionItem>): void;
        evaluate(processValue?: ProcessValue): boolean;
        setVariables(variables: Array<string>): void;
    }
    export class ArrayOperand extends Operand {
        values: Array<Operand>;
        constructor(values: Array<Operand>);
        getType(): string;
        toString(func?: (op: Operand) => string): string;
        evaluate(processValue?: ProcessValue): Array<any>;
        setVariables(variables: Array<string>): void;
        hasFunction(): boolean;
        protected addChildrenToList(list: Array<Operand>): void;
        hasAsyncFunction(): boolean;
        addToAsyncList(list: Array<AsyncFunctionItem>): void;
        protected isContentEqual(op: Operand): boolean;
    }
    export class Const extends Operand {
        private value;
        constructor(value: any);
        getType(): string;
        toString(func?: (op: Operand) => string): string;
        readonly correctValue: any;
        readonly requireStrictCompare: boolean;
        evaluate(): any;
        setVariables(variables: Array<string>): void;
        protected getCorrectValue(value: any): any;
        protected isContentEqual(op: Operand): boolean;
        private isQuote;
    }
    export class Variable extends Const {
        private variableName;
        static DisableConversionChar: string;
        private valueInfo;
        private useValueAsItIs;
        constructor(variableName: string);
        readonly requireStrictCompare: boolean;
        getType(): string;
        toString(func?: (op: Operand) => string): string;
        readonly variable: string;
        evaluate(processValue?: ProcessValue): any;
        setVariables(variables: Array<string>): void;
        protected getCorrectValue(value: any): any;
        protected isContentEqual(op: Operand): boolean;
    }
    export class FunctionOperand extends Operand {
        private originalValue;
        private parameters;
        constructor(originalValue: string, parameters: ArrayOperand);
        getType(): string;
        evaluate(processValue?: ProcessValue): any;
        private evaluateCore;
        toString(func?: (op: Operand) => string): string;
        setVariables(variables: Array<string>): void;
        isReady(proccessValue: ProcessValue): boolean;
        private getAsynValue;
        hasFunction(): boolean;
        protected addChildrenToList(list: Array<Operand>): void;
        hasAsyncFunction(): boolean;
        private isAsyncFunction;
        addToAsyncList(list: Array<AsyncFunctionItem>): void;
        protected isContentEqual(op: Operand): boolean;
    }
    export class OperandMaker {
        static throwInvalidOperatorError(op: string): void;
        static safeToString(operand: Operand, func: (op: Operand) => string): string;
        static toOperandString(value: string): string;
        static isBooleanValue(value: string): boolean;
        static countDecimals(value: number): number;
        static plusMinus(a: number, b: number, res: number): number;
        static unaryFunctions: HashTable<Function>;
        static binaryFunctions: HashTable<Function>;
        static isTwoValueEquals(x: any, y: any, ignoreOrder?: boolean): boolean;
        static operatorToString(operatorName: string): string;
        static convertValForDateCompare(val: any, second: any): any;
        static signs: HashTable<string>;
    }
}
declare module "packages/survey-core/src/expressions/expressionParser" {
    export interface IFilePosition {
        offset: number;
        line: number;
        column: number;
    }
    export interface IFileRange {
        start: IFilePosition;
        end: IFilePosition;
    }
    export interface ILiteralExpectation {
        type: "literal";
        text: string;
        ignoreCase: boolean;
    }
    export interface IClassParts extends Array<string | IClassParts> {
    }
    export interface IClassExpectation {
        type: "class";
        parts: IClassParts;
        inverted: boolean;
        ignoreCase: boolean;
    }
    export interface IAnyExpectation {
        type: "any";
    }
    export interface IEndExpectation {
        type: "end";
    }
    export interface IOtherExpectation {
        type: "other";
        description: string;
    }
    export type Expectation = ILiteralExpectation | IClassExpectation | IAnyExpectation | IEndExpectation | IOtherExpectation;
    export class SyntaxError extends Error {
        static buildMessage(expected: Expectation[], found: string | null): string;
        message: string;
        expected: Expectation[];
        found: string | null;
        location: IFileRange;
        name: string;
        constructor(message: string, expected: Expectation[], found: string | null, location: IFileRange);
    }
    export interface ICached {
        nextPos: number;
        result: any;
    }
    export interface IParseOptions {
        filename?: string;
        startRule?: string;
        tracer?: any;
        [key: string]: any;
    }
    export type ParseFunction = (input: string, options?: IParseOptions) => any;
    export const parse: ParseFunction;
}
declare module "packages/survey-core/src/conditionsParser" {
    import { Operand } from "packages/survey-core/src/expressions/expressions";
    export class ConditionsParserError {
        at: number;
        code: string;
        constructor(at: number, code: string);
    }
    export class ConditionsParser {
        private conditionError;
        private patchExpression;
        createCondition(text: string): Operand;
        parseExpression(text: string): Operand;
        readonly error: ConditionsParserError;
    }
}
declare module "packages/survey-core/src/conditions" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { Operand } from "packages/survey-core/src/expressions/expressions";
    /**
     * Base interface for expression execution
     */
    export interface IExpresionExecutor {
        /**
         * This call back runs on executing expression if there is at least one async function
         */
        onComplete: (res: any, id: number) => void;
        /**
         * The expression as string, property with get
         */
        expression: string;
        /**
         * Returns true if the expression is valid and can be executed
         */
        canRun(): boolean;
        /**
         * Run the expression. Returns the result of execution.
         * The result can be undefined if there is an asyn function. In this case result will be returned onComplete callback.
         * @param values has with values names and their results. Normally it is question names and their values
         * @param properties the list of properties that are available in functions. Commonly it is survey and question, if expression execuited in a question context
         */
        run(values: HashTable<any>, properties: HashTable<any>, id: number): any;
        /**
         * Returns the list of variables that used in the expression. They defined as: {variableName} in default parser.
         */
        getVariables(): Array<string>;
        /**
         * Returns true if there is a function in the expression
         */
        hasFunction(): boolean;
        /**
         * Returns true if there is an async function in the expression
         */
        isAsync: boolean;
    }
    export class ExpressionExecutorRunner {
        private operand;
        private id;
        private onComplete;
        private processValue;
        private asyncFuncList;
        constructor(operand: Operand, id: number, onComplete: (res: any, id: number) => void, values: HashTable<any>, properties: HashTable<any>);
        run(isAsync: boolean): any;
        private getAsyncItemByOperand;
        private runAsyncItem;
        private runAsyncItemCore;
        private doAsyncFunctionReady;
        private isAsyncFuncReady;
        private isAsyncChildrenReady;
        private runValues;
    }
    export class ExpressionExecutor implements IExpresionExecutor {
        static createExpressionExecutor: (expression: string) => IExpresionExecutor;
        onComplete: (res: any, id: number) => void;
        private expressionValue;
        private operand;
        private parser;
        private isAsyncValue;
        private hasFunctionValue;
        constructor(expression: string);
        readonly expression: string;
        private setExpression;
        getVariables(): Array<string>;
        hasFunction(): boolean;
        readonly isAsync: boolean;
        canRun(): boolean;
        run(values: HashTable<any>, properties: HashTable<any>, id: number): any;
    }
    export class ExpressionRunnerBase {
        private expressionExecutor;
        private variables;
        private containsFunc;
        private static IdRunnerCounter;
        onBeforeAsyncRun: (id: number) => void;
        onAfterAsyncRun: (id: number) => void;
        constructor(expression: string);
        expression: string;
        getVariables(): Array<string>;
        hasFunction(): boolean;
        readonly isAsync: boolean;
        canRun(): boolean;
        protected runCore(values: HashTable<any>, properties?: HashTable<any>): any;
        protected doOnComplete(res: any, id: number): void;
    }
    export class ConditionRunner extends ExpressionRunnerBase {
        onRunComplete: (result: boolean) => void;
        run(values: HashTable<any>, properties?: HashTable<any>): boolean;
        protected doOnComplete(res: any, id: number): void;
    }
    export class ExpressionRunner extends ExpressionRunnerBase {
        onRunComplete: (result: any) => void;
        run(values: HashTable<any>, properties?: HashTable<any>): any;
        protected doOnComplete(res: any, id: number): void;
    }
}
declare module "packages/survey-core/src/utils/cssClassBuilder" {
    export class CssClassBuilder {
        private classes;
        isEmpty(): boolean;
        append(value: string, condition?: boolean): CssClassBuilder;
        toString(): string;
    }
}
declare module "packages/survey-core/src/utils/taskmanager" {
    export interface IExecutable {
        id?: string;
        execute: () => void;
        isCompleted: boolean;
        dispose?: () => void;
    }
    export class Task implements IExecutable {
        private func;
        private isMultiple;
        private _isCompleted;
        constructor(func: () => void, isMultiple?: boolean);
        execute: () => void;
        discard(): void;
        readonly isCompleted: boolean;
    }
    export class TaskManger {
        private interval;
        private static instance;
        private static tasks;
        private constructor();
        static Instance(): TaskManger;
        private tick;
        static schedule(task: IExecutable): void;
    }
    export function debounce<T extends (...args: any) => void>(func: T): {
        run: T;
        cancel: () => void;
    };
}
declare module "packages/survey-core/src/utils/animation" {
    import { EventBase, Base } from "packages/survey-core/src/base";
    export interface AnimationOptions {
        cssClass: string;
        onBeforeRunAnimation?: (element: HTMLElement) => void;
        onAfterRunAnimation?: (element: HTMLElement) => void;
    }
    export interface IAnimationConsumer<T extends Array<any> = [
    ]> {
        getLeaveOptions?(...args: T): AnimationOptions;
        getEnterOptions?(...args: T): AnimationOptions;
        getAnimatedElement(...args: T): HTMLElement;
        isAnimationEnabled(): boolean;
        getRerenderEvent(): EventBase<Base>;
    }
    interface IGroupAnimationInfo {
        isReorderingRunning: boolean;
        isDeletingRunning: boolean;
        isAddingRunning: boolean;
    }
    interface IGroupAnimationCompareInfo<T> {
        addedItems: Array<T>;
        deletedItems: Array<T>;
        reorderedItems: Array<{
            item: T;
            movedForward: boolean;
        }>;
        mergedItems: Array<T>;
    }
    export interface IAnimationGroupConsumer<T> extends IAnimationConsumer<[
        T
    ]> {
        getLeaveOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
        getEnterOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
        getReorderOptions?(item: T, movedForward: boolean, info?: IGroupAnimationInfo): AnimationOptions;
        getKey?: (item: T) => any;
        onCompareArrays?(options: IGroupAnimationCompareInfo<T>): void;
        allowSyncRemovalAddition?: boolean;
    }
    export class AnimationUtils {
        private getMsFromRule;
        private reflow;
        private getAnimationsCount;
        private getAnimationDuration;
        private cancelQueue;
        private addCancelCallback;
        private removeCancelCallback;
        protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void;
        protected afterAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
        protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
        private getCssClasses;
        protected runAnimation(element: HTMLElement, options: AnimationOptions, callback: (isCancel?: boolean) => void): void;
        protected clearHtmlElement(element: HTMLElement, options: AnimationOptions): void;
        protected onNextRender(callback: (isCancel?: boolean) => void, isCancel?: boolean): void;
        cancel(): void;
    }
    export class AnimationPropertyUtils extends AnimationUtils {
        onEnter(options: IAnimationConsumer): void;
        onLeave(options: IAnimationConsumer, callback: () => void): void;
    }
    export class AnimationGroupUtils<T> extends AnimationUtils {
        runGroupAnimation(options: IAnimationGroupConsumer<T>, addedItems: Array<T>, removedItems: Array<T>, reorderedItems: Array<{
            item: T;
            movedForward: boolean;
        }>, callback?: () => void): void;
    }
    export abstract class AnimationProperty<T, S extends IAnimationConsumer<any> = IAnimationConsumer> {
        protected animationOptions: S;
        protected update: (val: T, isTempUpdate?: boolean) => void;
        protected getCurrentValue: () => T;
        constructor(animationOptions: S, update: (val: T, isTempUpdate?: boolean) => void, getCurrentValue: () => T);
        protected animation: AnimationUtils;
        protected onNextRender(callback: () => void, onCancel?: () => void): void;
        protected abstract _sync(newValue: T): void;
        private _debouncedSync;
        sync(newValue: T): void;
        private cancelCallback;
        cancel(): void;
        cancelAnimations(): void;
    }
    export class AnimationBoolean extends AnimationProperty<boolean> {
        protected animation: AnimationPropertyUtils;
        protected _sync(newValue: boolean): void;
    }
    export class AnimationGroup<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
        protected animation: AnimationGroupUtils<T>;
        protected _sync(newValue: Array<T>): void;
    }
    export class AnimationTab<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
        protected mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>;
        protected animation: AnimationGroupUtils<T>;
        constructor(animationOptions: IAnimationGroupConsumer<T>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>);
        protected _sync(newValue: [
            T
        ]): void;
    }
}
declare module "packages/survey-core/src/popup-view-model" {
    import { Base, EventBase } from "packages/survey-core/src/base";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { CssClassBuilder } from "packages/survey-core/src/utils/cssClassBuilder";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    import { AnimationOptions, IAnimationConsumer } from "packages/survey-core/src/utils/animation";
    export const FOCUS_INPUT_SELECTOR = "input:not(:disabled):not([readonly]):not([type=hidden]),select:not(:disabled):not([readonly]),textarea:not(:disabled):not([readonly]), button:not(:disabled):not([readonly]), [tabindex]:not([tabindex^=\"-\"])";
    export class PopupBaseViewModel extends Base implements IAnimationConsumer {
        protected popupSelector: string;
        protected fixedPopupContainer: string;
        protected containerSelector: string;
        protected scrollingContentSelector: string;
        protected prevActiveElement: HTMLElement;
        protected footerToolbarValue: ActionContainer;
        top: string;
        left: string;
        height: string;
        width: string;
        minWidth: string;
        _isVisible: boolean;
        locale: string;
        private updateIsVisible;
        private updateBeforeShowing;
        private updateAfterHiding;
        private visibilityAnimation;
        getLeaveOptions(): AnimationOptions;
        getEnterOptions(): AnimationOptions;
        getAnimatedElement(): HTMLElement;
        isAnimationEnabled(): boolean;
        getRerenderEvent(): EventBase<Base>;
        private getAnimationContainer;
        isVisible: boolean;
        onVisibilityChanged: EventBase<PopupBaseViewModel, any>;
        readonly container: HTMLElement;
        private containerElement;
        private createdContainer;
        getLocale(): string;
        protected hidePopup(): void;
        protected getStyleClass(): CssClassBuilder;
        protected getShowFooter(): boolean;
        protected getShowHeader(): boolean;
        protected getPopupHeaderTemplate(): string;
        protected createFooterActionBar(): void;
        protected resetDimensionsAndPositionStyleProperties(): void;
        protected onModelChanging(newModel: PopupModel): void;
        private onModelIsVisibleChangedCallback;
        private setupModel;
        private _model;
        model: PopupModel;
        constructor(model: PopupModel);
        readonly title: string;
        readonly contentComponentName: string;
        readonly contentComponentData: any;
        readonly isModal: boolean;
        readonly isFocusedContent: boolean;
        readonly isFocusedContainer: boolean;
        readonly showFooter: boolean;
        readonly showHeader: boolean;
        readonly popupHeaderTemplate: string;
        readonly isOverlay: boolean;
        readonly styleClass: string;
        readonly cancelButtonText: string;
        readonly footerToolbar: ActionContainer;
        onKeyDown(event: any): void;
        private trapFocus;
        switchFocus(): void;
        protected _isPositionSetValue: boolean;
        readonly isPositionSet: boolean;
        updateOnShowing(): void;
        updateOnHiding(): void;
        private focusContainer;
        private focusFirstInput;
        clickOutside(event?: Event): void;
        cancel(): void;
        dispose(): void;
        initializePopupContainer(): void;
        setComponentElement(componentRoot: HTMLElement): void;
        resetComponentElement(): void;
        protected preventScrollOuside(event: any, deltaY: number): void;
    }
}
declare module "packages/survey-core/src/utils/utils" {
    import { PopupBaseViewModel } from "packages/survey-core/src/popup-view-model";
    function compareVersions(a: any, b: any): number;
    function confirmAction(message: string): boolean;
    function confirmActionAsync(options: IConfirmDialogOptions): void;
    function detectIEBrowser(): boolean;
    function detectIEOrEdge(): boolean;
    function loadFileFromBase64(b64Data: string, fileName: string): void;
    function isMobile(): boolean;
    const isShadowDOM: (rootElement: Document | ShadowRoot | HTMLElement) => rootElement is ShadowRoot;
    const getElement: (element: HTMLElement | string) => HTMLElement;
    function isElementVisible(element: HTMLElement, threshold?: number): boolean;
    function findScrollableParent(element: HTMLElement): HTMLElement;
    function activateLazyRenderingChecks(id: string): void;
    function navigateToUrl(url: string): void;
    function wrapUrlForBackgroundImage(url: string): string;
    function isBase64URL(url: string): boolean;
    const renamedIcons: any;
    function getIconNameFromProxy(iconName: string): string;
    export function getNewIconName(iconName: string): string;
    export function getCustomNewIconNameIfExists(iconName: string): string;
    function createSvg(size: number | string, width: number, height: number, iconName: string, svgElem: any, title: string): void;
    export function getSafeUrl(url: string): string;
    export function unwrap<T>(value: T | (() => T)): T;
    export function getRenderedSize(val: string | number): number;
    export function getRenderedStyleSize(val: string | number): string;
    export interface IAttachKey2clickOptions {
        processEsc?: boolean;
        disableTabStop?: boolean;
        __keyDownReceived?: boolean;
    }
    export function doKey2ClickBlur(evt: KeyboardEvent): void;
    export function doKey2ClickUp(evt: KeyboardEvent, options?: IAttachKey2clickOptions): void;
    export function doKey2ClickDown(evt: KeyboardEvent, options?: IAttachKey2clickOptions): void;
    function increaseHeightByContent(element: HTMLElement, getComputedStyle?: (elt: Element) => any): void;
    function getOriginalEvent(event: any): any;
    function preventDefaults(event: any): void;
    function classesToSelector(str: string): string;
    function getElementWidth(el: HTMLElement): number;
    function isContainerVisible(el: HTMLElement): boolean;
    function getFirstVisibleChild(el: HTMLElement): any;
    function findParentByClassNames(element: HTMLElement, classNames: Array<string>): Element;
    export function sanitizeEditableContent(element: any, cleanLineBreaks?: boolean): void;
    function mergeValues(src: any, dest: any): void;
    function updateListCssValues(res: any, css: any): void;
    export class Logger {
        private _result;
        log(action: string): void;
        readonly result: string;
    }
    export interface IConfirmDialogOptions {
        message?: string;
        funcOnYes?: () => void;
        funcOnNo?: () => void;
        applyTitle?: string;
        locale?: string;
        rootElement?: HTMLElement;
        cssClass?: string;
    }
    export function showConfirmDialog(message: string, callback: (res: boolean) => void, options?: IConfirmDialogOptions): boolean;
    export function configConfirmDialog(popupViewModel: PopupBaseViewModel): void;
    function chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void): void;
    export function compareArrays<T>(oldValue: Array<T>, newValue: Array<T>, getKey: (item: T) => any): {
        addedItems: Array<T>;
        deletedItems: Array<T>;
        reorderedItems: Array<{
            item: T;
            movedForward: boolean;
        }>;
        mergedItems: Array<T>;
    };
    interface IVerticalDimensions {
        paddingTop: string;
        paddingBottom: string;
        marginTop: string;
        marginBottom: string;
        heightTo: string;
        borderTopWidth: string;
        borderBottomWidth: string;
        heightFrom: string;
    }
    export function getVerticalDimensions(el: HTMLElement): IVerticalDimensions;
    export function setPropertiesOnElementForAnimation(el: HTMLElement, styles: any, prefix?: string): void;
    export function prepareElementForVerticalAnimation(el: HTMLElement): void;
    export function cleanHtmlElementAfterAnimation(el: HTMLElement): void;
    export function floorTo2Decimals(number: number): number;
    export { mergeValues, updateListCssValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, activateLazyRenderingChecks, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles, isBase64URL, renamedIcons };
}
declare module "packages/survey-core/src/actions/container" {
    import { Base } from "packages/survey-core/src/base";
    import { IAction, Action, BaseAction } from "packages/survey-core/src/actions/action";
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    export let defaultActionBarCss: {
        root: string;
        defaultSizeMode: string;
        smallSizeMode: string;
        item: string;
        itemWithTitle: string;
        itemAsIcon: string;
        itemActive: string;
        itemPressed: string;
        itemIcon: string;
        itemTitle: string;
        itemTitleWithIcon: string;
    };
    export class ActionContainer<T extends BaseAction = Action> extends Base implements ILocalizableOwner {
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        getLocale(): string;
        actions: Array<T>;
        private cssClassesValue;
        protected getRenderedActions(): Array<T>;
        updateCallback: (isResetInitialized: boolean) => void;
        containerCss: string;
        sizeMode: "default" | "small";
        locOwner: ILocalizableOwner;
        isEmpty: boolean;
        locStrsChanged(): void;
        protected raiseUpdate(isResetInitialized: boolean): void;
        protected onSet(): void;
        protected onPush(item: T): void;
        protected onRemove(item: T): void;
        private setActionCssClasses;
        readonly hasActions: boolean;
        readonly renderedActions: Array<T>;
        readonly visibleActions: Array<T>;
        getRootCss(): string;
        protected getDefaultCssClasses(): any;
        cssClasses: any;
        private createAction;
        addAction(val: IAction, sortByVisibleIndex?: boolean): T;
        setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
        private sortItems;
        private hasSetVisibleIndex;
        private compareByVisibleIndex;
        private isActionVisible;
        subItemsShowDelay: number;
        subItemsHideDelay: number;
        protected popupAfterShowCallback(itemValue: T): void;
        mouseOverHandler(itemValue: T): void;
        initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void;
        resetResponsivityManager(): void;
        getActionById(id: string): T;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/element-helper" {
    export class ElementHelper {
        static focusElement(element: Element): void;
        static visibility(node: Element): boolean;
        static getNextElementPreorder(element: Element): Element;
        static getNextElementPostorder(element: Element): Element;
        static hasHorizontalScroller(element: HTMLElement): boolean;
        static hasVerticalScroller(element: HTMLElement): boolean;
    }
}
declare module "packages/survey-core/src/list" {
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    import { Action, BaseAction, IAction } from "packages/survey-core/src/actions/action";
    import { ILocalizableOwner } from "packages/survey-core/src/localizablestring";
    export let defaultListCss: {
        root: string;
        item: string;
        searchClearButtonIcon: string;
        loadingIndicator: string;
        itemSelected: string;
        itemGroup: string;
        itemGroupSelected: string;
        itemWithIcon: string;
        itemDisabled: string;
        itemFocused: string;
        itemHovered: string;
        itemTextWrap: string;
        itemIcon: string;
        itemMarkerIcon: string;
        itemSeparator: string;
        itemBody: string;
        itemsContainer: string;
        itemsContainerFiltering: string;
        filter: string;
        filterIcon: string;
        filterInput: string;
        emptyContainer: string;
        emptyText: string;
    };
    export interface IListModel {
        items: Array<IAction>;
        onSelectionChanged?: (item: IAction, ...params: any[]) => void;
        allowSelection?: boolean;
        searchEnabled?: boolean;
        selectedItem?: IAction;
        elementId?: string;
        locOwner?: ILocalizableOwner;
        cssClasses?: any;
        onFilterStringChangedCallback?: (text: string) => void;
        onTextSearchCallback?: (item: IAction, textToSearch: string) => boolean;
    }
    export class ListModel<T extends BaseAction = Action> extends ActionContainer<T> {
        onSelectionChanged?: (item: T, ...params: any[]) => void;
        allowSelection?: boolean;
        elementId?: string;
        private listContainerHtmlElement;
        private loadingIndicatorValue;
        private onFilterStringChangedCallback;
        private onTextSearchCallback;
        searchEnabled: boolean;
        showFilter: boolean;
        forceShowFilter: boolean;
        isExpanded: boolean;
        selectedItem: IAction;
        focusedItem: T;
        filterString: string;
        hasVerticalScroller: boolean;
        isAllDataLoaded: boolean;
        showSearchClearButton: boolean;
        renderElements: boolean;
        textWrapEnabled: boolean;
        itemComponent: string;
        static INDENT: number;
        static MINELEMENTCOUNT: number;
        scrollHandler: (e?: any) => void;
        areSameItemsCallback: (item1: IAction, item2: IAction) => boolean;
        private hasText;
        isItemVisible(item: T): boolean;
        protected getRenderedActions(): Array<T>;
        readonly visibleItems: Array<T>;
        private readonly shouldProcessFilter: any;
        private onFilterStringChanged;
        private updateIsEmpty;
        private scrollToItem;
        constructor(items: Array<IAction> | IListModel, onSelectionChanged?: (item: T, ...params: any[]) => void, allowSelection?: boolean, selectedItem?: IAction, elementId?: string);
        setOnFilterStringChangedCallback(callback: (text: string) => void): void;
        setOnTextSearchCallback(callback: (item: T, textToSearch: string) => boolean): void;
        setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
        private updateActionsIds;
        setSearchEnabled(newValue: boolean): void;
        protected onSet(): void;
        protected getDefaultCssClasses(): {
            root: string;
            item: string;
            searchClearButtonIcon: string;
            loadingIndicator: string;
            itemSelected: string;
            itemGroup: string;
            itemGroupSelected: string;
            itemWithIcon: string;
            itemDisabled: string;
            itemFocused: string;
            itemHovered: string;
            itemTextWrap: string;
            itemIcon: string;
            itemMarkerIcon: string;
            itemSeparator: string;
            itemBody: string;
            itemsContainer: string;
            itemsContainerFiltering: string;
            filter: string;
            filterIcon: string;
            filterInput: string;
            emptyContainer: string;
            emptyText: string;
        };
        onItemClick: (itemValue: T) => void;
        protected popupAfterShowCallback(itemValue: T): void;
        onItemHover: (itemValue: T) => void;
        onItemLeave(itemValue: T): void;
        isItemDisabled: (itemValue: T) => boolean;
        isItemSelected: (itemValue: T) => boolean;
        isItemFocused: (itemValue: T) => boolean;
        protected areSameItems(item1: IAction, item2: IAction): boolean;
        getListClass: () => string;
        getItemClass: (itemValue: T) => string;
        getItemStyle: (itemValue: any) => {
            "--sjs-list-item-level": number;
        };
        readonly filterStringPlaceholder: string;
        readonly emptyMessage: string;
        readonly scrollableContainer: HTMLElement;
        readonly loadingText: string;
        readonly loadingIndicator: T;
        goToItems(event: KeyboardEvent): void;
        onMouseMove(event: MouseEvent): void;
        onKeyDown(event: KeyboardEvent): void;
        onPointerDown(event: PointerEvent, item: any): void;
        refresh(): void;
        onClickSearchClearButton(event: any): void;
        resetFocusedItem(): void;
        focusFirstVisibleItem(): void;
        focusLastVisibleItem(): void;
        initFocusedItem(): void;
        focusNextVisibleItem(): void;
        focusPrevVisibleItem(): void;
        selectFocusedItem(): void;
        initListContainerHtmlElement(htmlElement: HTMLElement): void;
        onLastItemRended(item: T): void;
        scrollToFocusedItem(): void;
        scrollToSelectedItem(): void;
        addScrollEventListener(handler: (e?: any) => void): void;
        removeScrollEventListener(): void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/actions/action" {
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { Base, ComputedUpdater } from "packages/survey-core/src/base";
    import { IListModel } from "packages/survey-core/src/list";
    import { IPopupOptionsBase, PopupModel } from "packages/survey-core/src/popup";
    export type actionModeType = "large" | "small" | "popup" | "removed";
    /**
     * An action item.
     *
     * Action items are used in the Toolbar, matrix rows, titles of pages, panels, questions, and other survey elements.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
     */
    export interface IAction {
        /**
         * A unique action item identifier.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
         */
        id?: string;
        /**
         * Specifies the action item's visibility.
         * @see enabled
         * @see active
         */
        visible?: boolean | ComputedUpdater<boolean>;
        /**
         * The action item's title.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
         * @see showTitle
         * @see disableShrink
         */
        title?: string;
        locTitle?: LocalizableString;
        locTitleName?: string;
        /**
         * The action item's tooltip.
         */
        tooltip?: string;
        locTooltipName?: string;
        /**
         * Specifies whether users can interact with the action item.
         * @see active
         * @see visible
         */
        enabled?: boolean | ComputedUpdater<boolean>;
        enabledIf?: () => boolean;
        /**
         * Specifies the visibility of the action item's title.
         * @see title
         * @see disableShrink
         */
        showTitle?: boolean;
        /**
         * A function that is executed when users click the action item.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
         */
        action?: (context?: any) => void;
        onFocus?: (isMouse: boolean, event: any) => void;
        /**
         * One or several CSS classes that you want to apply to the outer `<div>` element.
         *
         * In the markup, an action item is rendered as an `<input>` wrapped in a `<div>`. The `css` property applies classes to the `<div>`.
         *
         * To apply several classes, separate them with a space character: `"myclass1 myclass2"`.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
         * @see innerCss
         */
        css?: string;
        /**
         * One or several CSS classes that you want to apply to the inner `<input>` element.
         *
         * In the markup, an action item is rendered as an `<input>` wrapped in a `<div>`. The `innerCss` property applies classes to the `<input>`.
         *
         * To apply several classes, separate them with a space character: `"myclass1 myclass2"`.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
         * @see css
         */
        innerCss?: string;
        /**
         * The action item's data object. Use it to pass required data to a custom template or component.
         */
        data?: any;
        popupModel?: any;
        needSeparator?: boolean;
        /**
         * Specifies whether the action item is active.
         *
         * Use this property as a flag to specify different action item appearances in different states.
         * @see enabled
         * @see visible
         */
        active?: boolean;
        pressed?: boolean;
        /**
         * Specifies the name of a template used to render the action item.
         * @see component
         */
        template?: string;
        /**
         * Specifies the name of a component used to render the action item.
         */
        component?: string;
        /**
         * The action item's icon name.
         * @see iconSize
         */
        iconName?: string;
        /**
         * The action item's icon size in pixels.
         * @see iconName
         */
        iconSize?: number | string;
        /**
         * The action item's location in a matrix question's row.
         *
         * The following values are available:
         *
         * - `"start"` - The action item is located at the beginning of the row.
         * - `"end"` - The action is located at the end of the row.
         */
        location?: string;
        /**
         * Set this property to `true` if you want to disable keyboard navigation for the action item (sets the `tabIndex` attribute to -1).
         */
        disableTabStop?: boolean;
        /**
         * Set this property to `true` if you want the item's `title` to be always visible.
         * If you set it to `false`, the `title` hides when the screen space is limited, and the item displays only the icon.
         * @see title
         * @see iconName
         */
        disableShrink?: boolean;
        disableHide?: boolean;
        mode?: actionModeType;
        /**
         * A number that specifies the action's position relative to other actions.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-navigation-button/ (linkStyle))
         */
        visibleIndex?: number;
        needSpace?: boolean;
        ariaChecked?: boolean;
        ariaExpanded?: boolean;
        ariaRole?: string;
        elementId?: string;
        items?: Array<IAction>;
        markerIconName?: string;
        showPopup?: () => void;
        hidePopup?: () => void;
    }
    export interface IActionDropdownPopupOptions extends IListModel, IPopupOptionsBase {
    }
    export function createDropdownActionModel(actionOptions: IAction, dropdownOptions: IActionDropdownPopupOptions, locOwner?: ILocalizableOwner): Action;
    export function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase): Action;
    export function createPopupModelWithListModel(listOptions: IListModel, popupOptions: IPopupOptionsBase): PopupModel;
    export function getActionDropdownButtonTarget(container: HTMLElement): HTMLElement;
    export abstract class BaseAction extends Base implements IAction {
        items?: IAction[];
        private static renderedId;
        private static getNextRendredId;
        private cssClassesValue;
        private rendredIdValue;
        private ownerValue;
        tooltip: string;
        showTitle: boolean;
        innerCss: string;
        active: boolean;
        pressed: boolean;
        data: any;
        popupModel: any;
        needSeparator: boolean;
        template: string;
        mode: actionModeType;
        visibleIndex: number;
        disableTabStop: boolean;
        disableShrink: boolean;
        disableHide: boolean;
        needSpace: boolean;
        ariaChecked: boolean;
        ariaExpanded: boolean;
        ariaRole: string;
        id: string;
        removePriority: number;
        iconName: string;
        iconSize: number | string;
        markerIconName: string;
        css?: string;
        minDimension: number;
        maxDimension: number;
        readonly renderedId: number;
        owner: ILocalizableOwner;
        visible: boolean;
        enabled: boolean;
        component: string;
        locTitle: LocalizableString;
        title: string;
        cssClasses: any;
        readonly isVisible: boolean;
        readonly disabled: boolean;
        readonly canShrink: boolean;
        readonly hasTitle: boolean;
        readonly hasSubItems: boolean;
        getActionBarItemTitleCss(): string;
        getActionBarItemCss(): string;
        getActionRootCss(): string;
        getTooltip(): string;
        getIsTrusted(args: any): boolean;
        showPopup(): void;
        hidePopup(): void;
        isPressed: boolean;
        isHovered: boolean;
        private showPopupTimeout;
        private hidePopupTimeout;
        private clearPopupTimeouts;
        showPopupDelayed(delay: number): void;
        hidePopupDelayed(delay: number): void;
        protected abstract getEnabled(): boolean;
        protected abstract setEnabled(val: boolean): void;
        protected abstract getVisible(): boolean;
        protected abstract setVisible(val: boolean): void;
        protected abstract getLocTitle(): LocalizableString;
        protected abstract setLocTitle(val: LocalizableString): void;
        protected abstract getTitle(): string;
        protected abstract setTitle(val: string): void;
        protected abstract getComponent(): string;
        protected abstract setComponent(val: string): void;
    }
    export class Action extends BaseAction implements IAction, ILocalizableOwner {
        private locTitleValue;
        updateCallback: (isResetInitialized: boolean) => void;
        innerItem: IAction;
        private raiseUpdate;
        constructor(innerItemData: IAction);
        private createLocTitle;
        setSubItems(options: IListModel): void;
        location?: string;
        id: string;
        private _visible;
        locTooltipName?: string;
        private _enabled;
        action: (context?: any, isUserAction?: boolean) => void;
        onFocus: (isMouse: boolean, event: any) => void;
        _component: string;
        items: any;
        _title: string;
        protected getLocTitle(): LocalizableString;
        protected setLocTitle(val: LocalizableString): void;
        protected getTitle(): string;
        protected setTitle(val: string): void;
        locTitleName: string;
        locStrsChanged(): void;
        doAction(args: any): boolean;
        private isMouseDown;
        doMouseDown(args: any): void;
        doFocus(args: any): void;
        private locStrChangedInPopupModel;
        private locTitleChanged;
        private locTooltipChanged;
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getProcessedText(text: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        setVisible(val: boolean): void;
        getVisible(): boolean;
        enabledIf?: () => boolean;
        setEnabled(val: boolean): void;
        getEnabled(): boolean;
        setComponent(val: string): void;
        getComponent(): string;
        dispose(): void;
    }
    export class ActionDropdownViewModel {
        private item;
        private popupModel;
        private funcKey;
        constructor(item: Action);
        private setupPopupCallbacks;
        private removePopupCallbacks;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/utils/responsivity-manager" {
    import { Action } from "packages/survey-core/src/actions/action";
    import { AdaptiveActionContainer } from "packages/survey-core/src/actions/adaptive-container";
    interface IDimensions {
        scroll: number;
        offset: number;
    }
    export class ResponsivityManager {
        container: HTMLDivElement;
        private model;
        private itemsSelector;
        private dotsItemSize;
        private delayedUpdateFunction;
        private resizeObserver;
        private isInitialized;
        protected minDimensionConst: number;
        private separatorSize;
        private separatorAddConst;
        private paddingSizeConst;
        private dotsSizeConst;
        private dotsIconClass;
        private iconClass;
        protected recalcMinDimensionConst: boolean;
        getComputedStyle: (elt: Element) => CSSStyleDeclaration;
        constructor(container: HTMLDivElement, model: AdaptiveActionContainer, itemsSelector: string, dotsItemSize?: number, delayedUpdateFunction?: (callback: () => void) => void);
        protected getDimensions(element: HTMLElement): IDimensions;
        protected getAvailableSpace(): number;
        protected calcItemSize(item: HTMLDivElement): number;
        private calcMinDimension;
        private calcItemsSizes;
        protected calcActionDimensions(currentAction: Action, item: HTMLDivElement): void;
        private readonly isContainerVisible: any;
        private process;
        dispose(): void;
    }
    export class VerticalResponsivityManager extends ResponsivityManager {
        constructor(container: HTMLDivElement, model: AdaptiveActionContainer, itemsSelector: string, dotsItemSize?: number, minDimension?: number, delayedUpdateFunction?: (callback: () => void) => void);
        protected getDimensions(): IDimensions;
        protected getAvailableSpace(): number;
        protected calcItemSize(item: HTMLDivElement): number;
        protected calcActionDimensions(currentAction: Action, item: HTMLDivElement): void;
    }
}
declare module "packages/survey-core/src/actions/adaptive-container" {
    import { ListModel } from "packages/survey-core/src/list";
    import { Action, actionModeType } from "packages/survey-core/src/actions/action";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    export class AdaptiveActionContainer<T extends Action = Action> extends ActionContainer<T> {
        dotsItem: Action;
        private responsivityManager;
        minVisibleItemsCount: number;
        isResponsivenessDisabled: boolean;
        private hideItemsGreaterN;
        private getActionsToHide;
        private getVisibleItemsCount;
        private updateItemMode;
        private static ContainerID;
        constructor();
        readonly hiddenItemsListModel: ListModel;
        protected onSet(): void;
        protected onPush(item: T): void;
        protected getRenderedActions(): Array<T>;
        protected raiseUpdate(isResetInitialized: boolean): void;
        fit(dimension: number, dotsItemSize: number): void;
        initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void;
        resetResponsivityManager(): void;
        setActionsMode(mode: actionModeType): void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/survey-error" {
    import { ISurveyErrorOwner } from "packages/survey-core/src/base-interfaces";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    export class SurveyError {
        text: string;
        protected errorOwner: ISurveyErrorOwner;
        private locTextValue;
        visible: boolean;
        constructor(text?: string, errorOwner?: ISurveyErrorOwner);
        equals(error: SurveyError): boolean;
        readonly locText: LocalizableString;
        getText(): string;
        getErrorType(): string;
        protected getDefaultText(): string;
        protected getLocale(): string;
        protected getLocalizationString(locStrName: string): string;
        onUpdateErrorTextCallback: (error: SurveyError) => void;
        updateText(): void;
    }
}
declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
    export var surveyCss: any;
    export var defaultV2Css: {
        root: string;
        rootProgress: string;
        rootMobile: string;
        rootAnimationDisabled: string;
        rootReadOnly: string;
        rootCompact: string;
        rootFitToContainer: string;
        rootWrapper: string;
        rootWrapperFixed: string;
        rootWrapperHasImage: string;
        rootBackgroundImage: string;
        container: string;
        header: string;
        bodyContainer: string;
        body: string;
        bodyWithTimer: string;
        clockTimerRoot: string;
        clockTimerRootTop: string;
        clockTimerRootBottom: string;
        clockTimerProgress: string;
        clockTimerProgressAnimation: string;
        clockTimerTextContainer: string;
        clockTimerMinorText: string;
        clockTimerMajorText: string;
        bodyEmpty: string;
        bodyLoading: string;
        footer: string;
        title: string;
        description: string;
        logo: string;
        logoImage: string;
        headerText: string;
        headerClose: string;
        navigationButton: string;
        bodyNavigationButton: string;
        completedPage: string;
        completedBeforePage: string;
        timerRoot: string;
        navigation: {
            complete: string;
            prev: string;
            next: string;
            start: string;
            preview: string;
            edit: string;
        };
        panel: {
            contentEnter: string;
            contentLeave: string;
            enter: string;
            leave: string;
            asPage: string;
            number: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleNumInline: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleDisabled: string;
            titleOnExpand: string;
            titleOnError: string;
            titleBar: string;
            description: string;
            container: string;
            withFrame: string;
            content: string;
            icon: string;
            iconExpanded: string;
            footer: string;
            requiredText: string;
            header: string;
            collapsed: string;
            expanded: string;
            expandable: string;
            expandableAnimating: string;
            nested: string;
            invisible: string;
            navigationButton: string;
            compact: string;
            errorsContainer: string;
        };
        paneldynamic: {
            mainRoot: string;
            empty: string;
            root: string;
            iconRemove: string;
            navigation: string;
            title: string;
            header: string;
            headerTab: string;
            button: string;
            buttonRemove: string;
            buttonAdd: string;
            buttonPrev: string;
            buttonPrevDisabled: string;
            buttonNextDisabled: string;
            buttonNext: string;
            progressContainer: string;
            progress: string;
            progressBar: string;
            nested: string;
            progressText: string;
            separator: string;
            panelWrapper: string;
            footer: string;
            panelFooter: string;
            footerButtonsContainer: string;
            panelsContainer: string;
            panelWrapperInRow: string;
            panelWrapperEnter: string;
            panelWrapperLeave: string;
            panelWrapperList: string;
            progressBtnIcon: string;
            noEntriesPlaceholder: string;
            compact: string;
            tabsContainer: string;
            tabsContainerWithHeader: string;
            tabsRoot: string;
            tabsLeft: string;
            tabsRight: string;
            tabsCenter: string;
            tabs: {
                item: string;
                itemPressed: string;
                itemAsIcon: string;
                itemIcon: string;
                itemTitle: string;
            };
        };
        progress: string;
        progressTop: string;
        progressBottom: string;
        progressBar: string;
        progressText: string;
        progressButtonsRoot: string;
        progressButtonsNumbered: string;
        progressButtonsFitSurveyWidth: string;
        progressButtonsContainerCenter: string;
        progressButtonsContainer: string;
        progressButtonsConnector: string;
        progressButtonsButton: string;
        progressButtonsButtonBackground: string;
        progressButtonsButtonContent: string;
        progressButtonsHeader: string;
        progressButtonsFooter: string;
        progressButtonsImageButtonLeft: string;
        progressButtonsImageButtonRight: string;
        progressButtonsImageButtonHidden: string;
        progressButtonsListContainer: string;
        progressButtonsList: string;
        progressButtonsListElementPassed: string;
        progressButtonsListElementCurrent: string;
        progressButtonsListElementNonClickable: string;
        progressButtonsPageTitle: string;
        progressButtonsPageDescription: string;
        progressTextInBar: string;
        page: {
            root: string;
            emptyHeaderRoot: string;
            title: string;
            description: string;
            number: string;
            errorsContainer: string;
        };
        pageTitle: string;
        pageDescription: string;
        row: string;
        rowMultiple: string;
        rowCompact: string;
        rowEnter: string;
        rowDelayedEnter: string;
        rowLeave: string;
        rowReplace: string;
        pageRow: string;
        question: {
            contentEnter: string;
            contentLeave: string;
            enter: string;
            leave: string;
            mobile: string;
            mainRoot: string;
            flowRoot: string;
            withFrame: string;
            asCell: string;
            answered: string;
            header: string;
            headerLeft: string;
            headerTop: string;
            headerBottom: string;
            content: string;
            contentSupportContainerQueries: string;
            contentLeft: string;
            titleNumInline: string;
            titleLeftRoot: string;
            titleTopRoot: string;
            descriptionUnderInputRoot: string;
            titleBottomRoot: string;
            titleOnAnswer: string;
            titleEmpty: string;
            titleOnError: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleDisabled: string;
            titleReadOnly: string;
            titleBar: string;
            requiredText: string;
            number: string;
            description: string;
            descriptionUnderInput: string;
            comment: string;
            other: string;
            required: string;
            titleRequired: string;
            indent: number;
            footer: string;
            commentArea: string;
            formGroup: string;
            hasError: string;
            hasErrorTop: string;
            hasErrorBottom: string;
            collapsed: string;
            expandable: string;
            expandableAnimating: string;
            expanded: string;
            nested: string;
            invisible: string;
            composite: string;
            disabled: string;
            readOnly: string;
            preview: string;
            noPointerEventsMode: string;
            errorsContainer: string;
            errorsContainerTop: string;
            errorsContainerBottom: string;
            confirmDialog: string;
        };
        image: {
            mainRoot: string;
            root: string;
            image: string;
            adaptive: string;
            noImage: string;
            noImageSvgIconId: string;
            withFrame: string;
        };
        html: {
            mainRoot: string;
            root: string;
            withFrame: string;
            nested: string;
        };
        error: {
            root: string;
            icon: string;
            item: string;
            locationTop: string;
            locationBottom: string;
        };
        checkbox: {
            root: string;
            rootMobile: string;
            rootRow: string;
            rootMultiColumn: string;
            item: string;
            itemEnter: string;
            itemLeave: string;
            itemOnError: string;
            itemSelectAll: string;
            itemNone: string;
            itemDisabled: string;
            itemReadOnly: string;
            itemPreview: string;
            itemPreviewSvgIconId: string;
            itemChecked: string;
            itemHover: string;
            itemInline: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            itemDecorator: string;
            itemSvgIconId: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            column: string;
        };
        radiogroup: {
            root: string;
            rootMobile: string;
            rootRow: string;
            rootMultiColumn: string;
            item: string;
            itemOnError: string;
            itemInline: string;
            label: string;
            labelChecked: string;
            itemEnter: string;
            itemLeave: string;
            itemDisabled: string;
            itemReadOnly: string;
            itemPreview: string;
            itemPreviewSvgIconId: string;
            itemChecked: string;
            itemHover: string;
            itemControl: string;
            itemDecorator: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            clearButton: string;
            column: string;
        };
        boolean: {
            mainRoot: string;
            root: string;
            rootRadio: string;
            item: string;
            itemOnError: string;
            control: string;
            itemChecked: string;
            itemExchanged: string;
            itemIndeterminate: string;
            itemDisabled: string;
            itemReadOnly: string;
            itemPreview: string;
            itemHover: string;
            label: string;
            labelTrue: string;
            labelFalse: string;
            switch: string;
            disabledLabel: string;
            labelReadOnly: string;
            labelPreview: string;
            sliderText: string;
            slider: string;
            sliderGhost: string;
            radioItem: string;
            radioItemChecked: string;
            radioItemDisabled: string;
            radioItemReadOnly: string;
            radioItemPreview: string;
            itemPreviewSvgIconId: string;
            radioLabel: string;
            radioControlLabel: string;
            radioFieldset: string;
            itemRadioDecorator: string;
            materialRadioDecorator: string;
            itemRadioControl: string;
            rootCheckbox: string;
            checkboxItem: string;
            checkboxLabel: string;
            checkboxItemOnError: string;
            checkboxItemIndeterminate: string;
            checkboxItemChecked: string;
            checkboxItemDecorator: string;
            checkboxItemDisabled: string;
            checkboxItemReadOnly: string;
            checkboxItemPreview: string;
            controlCheckbox: string;
            checkboxMaterialDecorator: string;
            checkboxControlLabel: string;
            svgIconCheckedId: string;
        };
        text: {
            root: string;
            small: string;
            controlDisabled: string;
            controlReadOnly: string;
            controlPreview: string;
            constrolWithCharacterCounter: string;
            characterCounterBig: string;
            content: string;
            remainingCharacterCounter: string;
            onError: string;
        };
        multipletext: {
            root: string;
            rootMobile: string;
            itemLabel: string;
            itemLabelReadOnly: string;
            itemLabelDisabled: string;
            itemLabelPreview: string;
            itemLabelOnError: string;
            itemLabelAllowFocus: string;
            itemLabelAnswered: string;
            itemWithCharacterCounter: string;
            item: string;
            itemTitle: string;
            content: string;
            row: string;
            cell: string;
            cellError: string;
            cellErrorTop: string;
            cellErrorBottom: string;
        };
        dropdown: {
            root: string;
            popup: string;
            small: string;
            selectWrapper: string;
            other: string;
            onError: string;
            label: string;
            itemEnter: string;
            itemLeave: string;
            item: string;
            itemDisabled: string;
            itemChecked: string;
            itemHover: string;
            itemControl: string;
            itemDecorator: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            chevronButton: string;
            chevronButtonSvg: string;
            chevronButtonIconId: string;
            control: string;
            controlInputFieldComponent: string;
            controlValue: string;
            controlDisabled: string;
            controlReadOnly: string;
            controlPreview: string;
            controlEmpty: string;
            controlLabel: string;
            filterStringInput: string;
            materialDecorator: string;
            hintPrefix: string;
            hintSuffix: string;
        };
        imagepicker: {
            mainRoot: string;
            root: string;
            rootResponsive: string;
            rootStatic: string;
            rootColumn: string;
            item: string;
            itemOnError: string;
            itemInline: string;
            itemChecked: string;
            itemDisabled: string;
            itemReadOnly: string;
            itemPreview: string;
            itemHover: string;
            label: string;
            itemDecorator: string;
            imageContainer: string;
            itemControl: string;
            image: string;
            itemText: string;
            other: string;
            itemNoImage: string;
            itemNoImageSvgIcon: string;
            itemNoImageSvgIconId: string;
            column: string;
            checkedItemDecorator: string;
            checkedItemSvgIcon: string;
            checkedItemSvgIconId: string;
        };
        matrix: {
            mainRoot: string;
            tableWrapper: string;
            root: string;
            columnsAutoWidth: string;
            noHeader: string;
            rootVerticalAlignTop: string;
            rootVerticalAlignMiddle: string;
            rootAlternateRows: string;
            rowError: string;
            cell: string;
            row: string;
            rowDisabled: string;
            rowReadOnly: string;
            headerCell: string;
            rowTextCell: string;
            label: string;
            itemOnError: string;
            itemValue: string;
            itemChecked: string;
            itemDisabled: string;
            itemReadOnly: string;
            itemPreview: string;
            itemPreviewSvgIconId: string;
            itemHover: string;
            materialDecorator: string;
            itemDecorator: string;
            cellText: string;
            cellTextSelected: string;
            cellTextDisabled: string;
            cellResponsiveTitle: string;
            compact: string;
        };
        matrixdropdown: {
            mainRoot: string;
            rootScroll: string;
            root: string;
            columnsAutoWidth: string;
            noHeader: string;
            hasFooter: string;
            rootVerticalAlignTop: string;
            rootVerticalAlignMiddle: string;
            tableWrapper: string;
            rootAlternateRows: string;
            cell: string;
            cellResponsiveTitle: string;
            errorsCell: string;
            errorsCellTop: string;
            errorsCellBottom: string;
            itemCell: string;
            row: string;
            rowDelayedEnter: string;
            rowEnter: string;
            rowLeave: string;
            expandedRow: string;
            rowHasPanel: string;
            rowHasEndActions: string;
            headerCell: string;
            rowTextCell: string;
            footerCell: string;
            footerTotalCell: string;
            columnTitleCell: string;
            cellRequiredText: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailIconId: string;
            detailIconExpandedId: string;
            detailPanelCell: string;
            detailRowCell: string;
            actionsCellPrefix: string;
            actionsCell: string;
            actionsCellDrag: string;
            emptyCell: string;
            verticalCell: string;
            cellQuestionWrapper: string;
            compact: string;
        };
        matrixdynamic: {
            mainRoot: string;
            rootScroll: string;
            empty: string;
            root: string;
            columnsAutoWidth: string;
            noHeader: string;
            hasFooter: string;
            tableWrapper: string;
            rootAlternateRows: string;
            content: string;
            cell: string;
            cellResponsiveTitle: string;
            row: string;
            rowDelayedEnter: string;
            rowEnter: string;
            rowLeave: string;
            rowHasPanel: string;
            rowHasEndActions: string;
            expandedRow: string;
            itemCell: string;
            headerCell: string;
            rowTextCell: string;
            footerCell: string;
            columnTitleCell: string;
            cellRequiredText: string;
            button: string;
            detailRow: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailIconId: string;
            detailIconExpandedId: string;
            detailPanelCell: string;
            detailRowCell: string;
            actionsCellPrefix: string;
            actionsCell: string;
            actionsCellDrag: string;
            buttonAdd: string;
            buttonRemove: string;
            iconAdd: string;
            iconRemove: string;
            dragElementDecorator: string;
            iconDragElement: string;
            footer: string;
            footerTotalCell: string;
            emptyRowsSection: string;
            iconDrag: string;
            ghostRow: string;
            draggedRow: string;
            emptyCell: string;
            verticalCell: string;
            cellQuestionWrapper: string;
            errorsCell: string;
            errorsCellTop: string;
            errorsCellBottom: string;
            compact: string;
        };
        rating: {
            rootDropdown: string;
            root: string;
            rootWrappable: string;
            rootLabelsTop: string;
            rootLabelsBottom: string;
            rootLabelsDiagonal: string;
            item: string;
            itemOnError: string;
            itemHover: string;
            selected: string;
            itemStar: string;
            itemStarOnError: string;
            itemStarHover: string;
            itemStarSelected: string;
            itemStarDisabled: string;
            itemStarReadOnly: string;
            itemStarPreview: string;
            itemStarHighlighted: string;
            itemStarUnhighlighted: string;
            itemStarSmall: string;
            itemSmiley: string;
            itemSmileyOnError: string;
            itemSmileyHover: string;
            itemSmileySelected: string;
            itemSmileyDisabled: string;
            itemSmileyReadOnly: string;
            itemSmileyPreview: string;
            itemSmileyHighlighted: string;
            itemSmileyScaleColored: string;
            itemSmileyRateColored: string;
            itemSmileySmall: string;
            minText: string;
            itemText: string;
            maxText: string;
            itemDisabled: string;
            itemReadOnly: string;
            itemPreview: string;
            itemFixedSize: string;
            control: string;
            itemSmall: string;
            selectWrapper: string;
            controlValue: string;
            controlDisabled: string;
            controlReadOnly: string;
            controlPreview: string;
            controlEmpty: string;
            filterStringInput: string;
            chevronButton: string;
            chevronButtonSvg: string;
            chevronButtonIconId: string;
            popup: string;
            onError: string;
        };
        comment: {
            root: string;
            small: string;
            controlDisabled: string;
            controlReadOnly: string;
            controlPreview: string;
            content: string;
            remainingCharacterCounter: string;
            onError: string;
        };
        expression: string;
        file: {
            root: string;
            rootDragging: string;
            rootAnswered: string;
            rootDisabled: string;
            rootReadOnly: string;
            rootPreview: string;
            other: string;
            placeholderInput: string;
            previewItem: string;
            fileSign: string;
            fileList: string;
            fileSignBottom: string;
            dragArea: string;
            dragAreaActive: string;
            fileDecorator: string;
            onError: string;
            fileDecoratorDrag: string;
            fileInput: string;
            noFileChosen: string;
            chooseFile: string;
            chooseFileAsText: string;
            chooseFileAsTextDisabled: string;
            chooseFileAsIcon: string;
            chooseFileIconId: string;
            disabled: string;
            controlDisabled: string;
            removeButton: string;
            removeButtonBottom: string;
            removeButtonIconId: string;
            removeFile: string;
            removeFileSvg: string;
            removeFileSvgIconId: string;
            wrapper: string;
            defaultImage: string;
            defaultImageIconId: string;
            leftIconId: string;
            rightIconId: string;
            removeFileButton: string;
            dragAreaPlaceholder: string;
            imageWrapper: string;
            imageWrapperDefaultImage: string;
            single: string;
            singleImage: string;
            mobile: string;
            videoContainer: string;
            contextButton: string;
            video: string;
            actionsContainer: string;
            closeCameraButton: string;
            changeCameraButton: string;
            takePictureButton: string;
            loadingIndicator: string;
            page: string;
        };
        signaturepad: {
            mainRoot: string;
            root: string;
            small: string;
            controls: string;
            placeholder: string;
            canvas: string;
            backgroundImage: string;
            clearButton: string;
            clearButtonIconId: string;
            loadingIndicator: string;
        };
        saveData: {
            root: string;
            rootWithButtons: string;
            info: string;
            error: string;
            success: string;
            button: string;
            shown: string;
        };
        window: {
            root: string;
            rootCollapsedMod: string;
            rootFullScreenMode: string;
            rootContent: string;
            body: string;
            header: {
                root: string;
                titleCollapsed: string;
                buttonsContainer: string;
                button: string;
                buttonExpanded: string;
                buttonCollapsed: string;
                collapseButton: string;
                closeButton: string;
                fullScreenButton: string;
            };
        };
        ranking: {
            root: string;
            rootMobileMod: string;
            rootDragMod: string;
            rootDisabled: string;
            rootReadOnly: string;
            rootPreview: string;
            rootDesignMode: string;
            rootDragHandleAreaIcon: string;
            rootSelectToRankMod: string;
            rootSelectToRankEmptyValueMod: string;
            rootSelectToRankAlignVertical: string;
            rootSelectToRankAlignHorizontal: string;
            rootSelectToRankSwapAreas: string;
            item: string;
            itemContent: string;
            itemIndex: string;
            itemIndexEmptyMode: string;
            itemDisabled: string;
            itemReadOnly: string;
            itemPreview: string;
            controlLabel: string;
            itemGhostNode: string;
            itemIconContainer: string;
            itemIcon: string;
            itemIconHoverMod: string;
            itemIconFocusMod: string;
            itemGhostMod: string;
            itemDragMod: string;
            itemOnError: string;
            container: string;
            containerEmptyMode: string;
            containerFromMode: string;
            containerToMode: string;
            containerPlaceholder: string;
            containersDivider: string;
        };
        buttongroup: {
            root: string;
            item: string;
            itemIcon: string;
            itemDecorator: string;
            itemCaption: string;
            itemHover: string;
            itemSelected: string;
            itemDisabled: string;
            itemControl: string;
        };
        list: {
            root: string;
            item: string;
            itemBody: string;
            itemSelected: string;
            itemFocused: string;
            itemHovered: string;
        };
        actionBar: {
            root: string;
            item: string;
            defaultSizeMode: string;
            smallSizeMode: string;
            itemPressed: string;
            itemAsIcon: string;
            itemIcon: string;
            itemTitle: string;
        };
        variables: {
            mobileWidth: string;
            themeMark: string;
        };
        tagbox: {
            root: string;
            popup: string;
            small: string;
            selectWrapper: string;
            other: string;
            onError: string;
            label: string;
            itemSvgIconId: string;
            item: string;
            itemDisabled: string;
            itemChecked: string;
            itemHover: string;
            itemControl: string;
            itemDecorator: string;
            itemEnter: string;
            itemLeave: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            cleanItemButton: string;
            cleanItemButtonSvg: string;
            cleanItemButtonIconId: string;
            chevronButton: string;
            chevronButtonSvg: string;
            chevronButtonIconId: string;
            control: string;
            controlValue: string;
            controlValueItems: string;
            placeholderInput: string;
            controlEditable: string;
            controlDisabled: string;
            controlReadOnly: string;
            controlPreview: string;
            controlEmpty: string;
            controlLabel: string;
            filterStringInput: string;
            materialDecorator: string;
            hint: string;
            hintPrefix: string;
            hintSuffix: string;
            hintSuffixWrapper: string;
        };
    };
    export const defaultV2ThemeName = "defaultV2";
}
declare module "packages/survey-core/src/trigger" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { Base } from "packages/survey-core/src/base";
    import { ISurvey } from "packages/survey-core/src/base-interfaces";
    /**
     * A base class for all triggers.
     * A trigger calls a method when the expression change the result: from false to true or from true to false.
     * Please note, it runs only one changing the expression result.
     */
    export class Trigger extends Base {
        static idCounter: number;
        static operatorsValue: HashTable<Function>;
        static readonly operators: HashTable<Function>;
        private conditionRunner;
        private idValue;
        constructor();
        readonly id: number;
        getType(): string;
        toString(): string;
        isGhost: boolean;
        protected readonly isInternal: boolean;
        operator: string;
        value: any;
        name: string;
        expression: string;
        protected canBeExecuted(isOnNextPage: boolean): boolean;
        protected canBeExecutedOnComplete(): boolean;
        protected isExecutingOnNextPage: boolean;
        protected isExecutingOnNavigation: boolean;
        checkExpression(options: {
            isOnNextPage: boolean;
            isOnComplete: boolean;
            isOnNavigation: boolean;
            keys: any;
            values: HashTable<any>;
            properties?: HashTable<any>;
        }): void;
        protected canBeExecuteOnKeysChange(keys: any[]): boolean;
        protected canSuccessOnEmptyExpression(): boolean;
        check(value: any): void;
        readonly requireValidQuestion: boolean;
        private perform;
        private triggerResult;
        protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
        protected onFailure(): void;
        protected onSuccessExecuted(): void;
        endLoadingFromJson(): void;
        private oldPropertiesChanged;
        private onExpressionChanged;
        buildExpression(): string;
        private isCheckRequired;
        protected getUsedVariables(): string[];
        private createConditionRunner;
        private readonly isRequireValue: any;
    }
    export interface ISurveyTriggerOwner {
        getObjects(pages: string[], questions: string[]): any[];
        setCompleted(trigger: Trigger): void;
        canBeCompleted(trigger: Trigger, isCompleted: boolean): void;
        triggerExecuted(trigger: Trigger): void;
        setTriggerValue(name: string, value: any, isVariable: boolean): any;
        copyTriggerValue(name: string, fromName: string, copyDisplayValue: boolean): void;
        focusQuestion(name: string): boolean;
    }
    /**
     * It extends the Trigger base class and add properties required for SurveyJS classes.
     */
    export class SurveyTrigger extends Trigger {
        protected ownerValue: ISurveyTriggerOwner;
        constructor();
        readonly owner: ISurveyTriggerOwner;
        setOwner(owner: ISurveyTriggerOwner): void;
        getSurvey(live?: boolean): ISurvey;
        protected isRealExecution(): boolean;
        protected onSuccessExecuted(): void;
    }
    /**
     * If expression returns true, it makes questions/pages visible.
     * Ohterwise it makes them invisible.
     */
    export class SurveyTriggerVisible extends SurveyTrigger {
        pages: string[];
        questions: string[];
        constructor();
        getType(): string;
        protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
        protected onFailure(): void;
        private onTrigger;
        protected onItemSuccess(item: any): void;
        protected onItemFailure(item: any): void;
    }
    /**
     * If expression returns true, it completes the survey.
     */
    export class SurveyTriggerComplete extends SurveyTrigger {
        constructor();
        getType(): string;
        readonly requireValidQuestion: boolean;
        protected isRealExecution(): boolean;
        protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
        protected onFailure(): void;
    }
    /**
     * If expression returns true, the value from property **setValue** will be set to **setToName**
     */
    export class SurveyTriggerSetValue extends SurveyTrigger {
        constructor();
        getType(): string;
        protected canBeExecuted(isOnNextPage: boolean): boolean;
        protected canBeExecuteOnKeysChange(keys: any[]): boolean;
        protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
        setToName: string;
        setValue: any;
        isVariable: boolean;
        protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
    }
    /**
     * If expression returns true, the survey go to question **gotoName** and focus it.
     */
    export class SurveyTriggerSkip extends SurveyTrigger {
        constructor();
        getType(): string;
        readonly requireValidQuestion: boolean;
        gotoName: string;
        protected canBeExecuted(isOnNextPage: boolean): boolean;
        protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
    }
    /**
     * If expression returns true, the **runExpression** will be run. If **setToName** property is not empty then the result of **runExpression** will be set to it.
     */
    export class SurveyTriggerRunExpression extends SurveyTrigger {
        constructor();
        getType(): string;
        setToName: string;
        runExpression: string;
        protected canBeExecuted(isOnNextPage: boolean): boolean;
        protected onSuccess(values: HashTable<any>, properties: HashTable<any>): boolean;
        private onCompleteRunExpression;
    }
    /**
     * If expression returns true, the value from question **fromName** will be set into **setToName**.
     */
    export class SurveyTriggerCopyValue extends SurveyTrigger {
        constructor();
        protected canBeExecuted(isOnNextPage: boolean): boolean;
        setToName: string;
        fromName: string;
        copyDisplayValue: boolean;
        getType(): string;
        protected canBeExecuteOnKeysChange(keys: any[]): boolean;
        protected onSuccess(values: HashTable<any>, properties: HashTable<any>): void;
        protected canSuccessOnEmptyExpression(): boolean;
        protected getUsedVariables(): string[];
    }
}
declare module "packages/survey-core/src/calculatedValue" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { Base } from "packages/survey-core/src/base";
    import { ISurvey, ISurveyData } from "packages/survey-core/src/base-interfaces";
    /**
     * The calculated value is a way to define the variable in Survey Creator.
     * It has two main properties: name and expression. Based on expression the value read-only property is automatically calculated.
     * The name property should be unique though all calculated values.
     * It uses survey.getVariable/seruvey.setVariable functions to get/set its value. The class do not store its value internally.
     * You may set includeIntoResult property to true to store this calculated value into survey result.
     */
    export class CalculatedValue extends Base {
        private data;
        private expressionIsRunning;
        private expressionRunner;
        constructor(name?: string, expression?: string);
        setOwner(data: ISurveyData): void;
        getType(): string;
        getSurvey(live?: boolean): ISurvey;
        readonly owner: ISurveyData;
        /*
        * The calculated value name. It should be non empty and unique.
        */
        name: string;
        /*
        * Set this property to true to include the non-empty calculated value into survey result, survey.data property.
        */
        includeIntoResult: boolean;
        /*
        * The Expression that used to calculate the value. You may use standard operators like +, -, * and /, squares (). Here is the example of accessing the question value {questionname}.
        * Example: "({quantity} * {price}) * (100 - {discount}) / 100"
        */
        expression: string;
        locCalculation(): void;
        unlocCalculation(): void;
        private isCalculated;
        resetCalculation(): void;
        doCalculation(calculatedValues: Array<CalculatedValue>, values: HashTable<any>, properties: HashTable<any>): void;
        runExpression(values: HashTable<any>, properties: HashTable<any>): void;
        readonly value: any;
        protected setValue(val: any): void;
        private readonly canRunExpression: any;
        private rerunExpression;
        private runExpressionCore;
        private runDependentExpressions;
        private ensureExpression;
    }
}
declare module "packages/survey-core/src/panel-layout-column" {
    import { Base } from "packages/survey-core/src/base";
    export class PanelLayoutColumnModel extends Base {
        width: number;
        effectiveWidth: number;
        questionTitleWidth: string;
        constructor(width?: number, questionTitleWidth?: string);
        getType(): string;
        isEmpty(): boolean;
    }
}
declare module "packages/survey-core/src/textPreProcessor" {
    import { Question } from "packages/survey-core/src/question";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { ISurvey, ITextProcessor, ITextProcessorProp, ITextProcessorResult } from "packages/survey-core/src/base-interfaces";
    export class TextPreProcessorItem {
        start: number;
        end: number;
    }
    export class TextPreProcessorValue {
        name: string;
        returnDisplayValue: boolean;
        constructor(name: string, returnDisplayValue: boolean);
        value: any;
        isExists: boolean;
        canProcess: boolean;
    }
    export class TextPreProcessor {
        private _unObservableValues;
        private hasAllValuesOnLastRunValue: any;
        onProcess: (textValue: TextPreProcessorValue) => void;
        process(text: string, returnDisplayValue?: boolean, doEncoding?: boolean, replaceUndefinedValues?: boolean): string;
        processValue(name: string, returnDisplayValue: boolean): TextPreProcessorValue;
        readonly hasAllValuesOnLastRun: boolean;
        processText(text: string, returnDisplayValue: boolean): string;
        processTextEx(params: ITextProcessorProp): ITextProcessorResult;
        private getItems;
        private isValidItemName;
        private getName;
    }
    export class QuestionTextProcessor implements ITextProcessor {
        protected variableName: string;
        private textPreProcessor;
        constructor(variableName: string);
        processValue(name: string, returnDisplayValue: boolean): TextPreProcessorValue;
        protected readonly survey: ISurvey;
        protected readonly panel: PanelModel;
        protected getValues(): any;
        protected getQuestionByName(name: string): Question;
        protected getParentTextProcessor(): ITextProcessor;
        protected onCustomProcessText(textValue: TextPreProcessorValue): boolean;
        protected getQuestionDisplayText(question: Question): string;
        private getProcessedTextValue;
        processText(text: string, returnDisplayValue: boolean): string;
        processTextEx(params: ITextProcessorProp): ITextProcessorResult;
        private addTextPreProcessor;
    }
}
declare module "packages/survey-core/src/error" {
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { ISurveyErrorOwner } from "packages/survey-core/src/base-interfaces";
    export class AnswerRequiredError extends SurveyError {
        text: string;
        constructor(text?: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class OneAnswerRequiredError extends SurveyError {
        text: string;
        constructor(text?: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class RequreNumericError extends SurveyError {
        text: string;
        constructor(text?: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class ExceedSizeError extends SurveyError {
        private maxSize;
        constructor(maxSize: number, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        getDefaultText(): string;
        private getTextSize;
    }
    export class WebRequestError extends SurveyError {
        status: string;
        response: string;
        constructor(status: string, response: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class WebRequestEmptyError extends SurveyError {
        text: string;
        constructor(text: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class OtherEmptyError extends SurveyError {
        text: string;
        constructor(text: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class UploadingFileError extends SurveyError {
        text: string;
        constructor(text: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class RequiredInAllRowsError extends SurveyError {
        text: string;
        constructor(text: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class EachRowUniqueError extends SurveyError {
        text: string;
        constructor(text: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class MinRowCountError extends SurveyError {
        minRowCount: number;
        constructor(minRowCount: number, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class KeyDuplicationError extends SurveyError {
        text: string;
        constructor(text: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
        protected getDefaultText(): string;
    }
    export class CustomError extends SurveyError {
        text: string;
        constructor(text: string, errorOwner?: ISurveyErrorOwner);
        getErrorType(): string;
    }
}
declare module "packages/survey-core/src/question_custom" {
    import { Question, IConditionObject } from "packages/survey-core/src/question";
    import { JsonObjectProperty } from "packages/survey-core/src/jsonobject";
    import { Base } from "packages/survey-core/src/base";
    import { ISurveyImpl, ISurveyData, ITextProcessor, IPanel, IElement, IQuestion, IProgressInfo } from "packages/survey-core/src/base-interfaces";
    import { SurveyElement } from "packages/survey-core/src/survey-element";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { PanelLayoutColumnModel } from "packages/survey-core/src/panel-layout-column";
    import { HashTable } from "packages/survey-core/src/helpers";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    /**
     * An interface used to create custom question types.
     *
     * Refer to the following articles for more information:
     *
     * - [Create Specialized Question Types](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types)
     * - [Create Composite Question Types](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types)
     */
    export interface ICustomQuestionTypeConfiguration {
        /**
         * A name used to identify a custom question type.
         *
         * @see title
         */
        name: string;
        /**
         * A title used for this custom question type in the UI. When `title` is not specified, the `name` property value is used.
         *
         * @see name
         */
        title?: string;
        /**
         * The name of an icon to use for the custom question type.
         *
         * [UI Icons](https://surveyjs.io/form-library/documentation/icons (linkStyle))
         */
        iconName?: string;
        internal?: boolean;
        /**
         * A function that is called when the custom question type is initialized. Use it to add, remove, or modify the type's properties (see [Override Base Question Properties](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types#override-base-question-properties)).
         */
        onInit?(): void;
        /**
         * Specifies whether the custom question type is available in the Toolbox and the Add Question menu in Survey Creator.
         *
         * Default value: `true`
         *
         * Set this property to `false` if your custom question type is used only to customize Property Grid content and is not meant for a survey.
         */
        showInToolbox?: boolean;
        /**
         * A default title for questions created with this question type. Survey authors can change the default title in the JSON object or in Survey Creator's Property Grid.
         *
         * You can specify the question title with a string value or with an object that defines different titles for different locales:
         *
         * ```js
         * import { ComponentCollection } from "survey-core";
         *
         * ComponentCollection.Instance.add({
         *   // ...
         *   defaultQuestionTitle: "Default title"
         * });
         * // ===== OR =====
         * ComponentCollection.Instance.add({
         *   // ...
         *   defaultQuestionTitle: {
         *     en: "Default title",
         *     de: "Standardtitel",
         *     fr: "Titre par défaut"
         *   }
         * });
         * ```
         */
        defaultQuestionTitle?: any;
        /**
         * An array of property names to inherit from a base question or a Boolean value that specifies whether or not to inherit all properties.
         *
         * Default value: `false`
         *
         * When you create a [custom specialized question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types), you base it on another question type configured within the [`questionJSON`](#questionJSON) object. If the custom question type should inherit all properties from the base type, set the `inheritBaseProps` property to `true`. If you want to inherit only certain properties, set the `inheritBaseProps` property to an array of their names.
         *
         * [Create Specialized Question Types](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types (linkStyle))
         */
        inheritBaseProps?: false | true | Array<string>;
        /**
         * A function that is called when the custom question is created. Use it to access questions nested within a [composite question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types).
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * The custom question.
         */
        onCreated?(question: Question): void;
        /**
         * A function that is called when JSON schemas are loaded.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A custom question.
         */
        onLoaded?(question: Question): void;
        /**
         * A function that is called after the entire question is rendered.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A custom question.
         * - `htmlElement`: `any`\
         * An HTML element that represents the custom question.
         */
        onAfterRender?(question: Question, htmlElement: any): void;
        /**
         * A function that is called each time a question nested within a [composite question](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types) is rendered.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A composite question.
         * - `element`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A nested question.
         * - `htmlElement`: `any`\
         * An HTML element that represents a nested question.
         */
        onAfterRenderContentElement?(question: Question, element: Question, htmlElement: any): void;
        /**
         * A function that is called each time a question nested within a [composite question](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types) requires an update of its CSS classes.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A composite question.
         * - `element`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A nested question.
         * - `cssClasses`: `any`\
         * An object with CSS classes applied to a nested question, for example, `{ root: "class1", button: "class2" }`. You can modify this object to apply custom CSS classes.
         */
        onUpdateQuestionCssClasses?(question: Question, element: Question, cssClasses: any): void;
        /**
         * A function that is called when a custom question type property is changed. Use it to handle property changes.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A custom question.
         * - `propertyName`: `string`\
         * The name of the changed property.
         * - `newValue`: `any`\
         * A new value for the property.
         */
        onPropertyChanged?(question: Question, propertyName: string, newValue: any): void;
        /**
         * A function that is called after the question value is changed in the UI.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A custom question.
         * - `name`: `string`\
         * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
         * - `newValue`: `any`\
         * A new value for the question.
         *
         * If you want to perform some actions when the value is changed in code as well as in the UI, implement the [`onValueSet`](https://surveyjs.io/form-library/documentation/api-reference/icustomquestiontypeconfiguration#onValueSet) function.
         */
        onValueChanged?(question: Question, name: string, newValue: any): void;
        /**
         * A function that is called before a question value is changed in the UI.
         *
         * This function should return the value you want to save: `newValue`, a custom value, or `undefined` if you want to clear the question value.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A custom question.
         * - `name`: `string`\
         * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
         * - `newValue`: `any`\
         * A new value for the question.
         */
        onValueChanging?(question: Question, name: string, newValue: any): any;
        /**
         * A function that is called when an [ItemValue](https://surveyjs.io/Documentation/Library?id=itemvalue) property is changed.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A custom question.
         * - `options.obj`: [ItemValue](https://surveyjs.io/Documentation/Library?id=itemvalue)\
         * An `ItemValue` object.
         * - `options.propertyName`: `string`\
         * The name of the property to which an array of `ItemValue` objects is assigned (for example, `"choices"` or `"rows"`).
         * - `options.name`: `string`\
         * The name of the changed property: `"text"` or `"value"`.
         * - `options.newValue`: `any`\
         * A new value for the property.
         */
        onItemValuePropertyChanged?(question: Question, options: {
            obj: ItemValue;
            propertyName: string;
            name: string;
            newValue: any;
        }): void;
        /**
         * A function that allows you to override the default `getDisplayValue()` implementation.
         */
        getDisplayValue?: ((keyAsText: boolean, value: any) => any) | ((question: Question) => any);
        /**
         * JSON schemas of nested questions. Specify this property to create a [composite question type](https://surveyjs.io/form-library/documentation/customize-question-types/create-composite-question-types).
         */
        elementsJSON?: any;
        /**
         * A function that allows you to create nested questions if you do not specify the `elementsJSON` property.
         *
         * @see elementsJSON
         */
        createElements?: any;
        /**
         * A JSON schema for a built-in question type on which the custom question type is based.
         *
         * Refer to the [Create Specialized Question Types](https://surveyjs.io/form-library/documentation/customize-question-types/create-specialized-question-types) help topic for more information.
         */
        questionJSON?: any;
        /**
         * A function that allows you to create a custom question if you do not specify the `questionJSON` property.
         *
         * @see questionJSON
         */
        createQuestion?: any;
        /**
         * A function that allows you to display different error texts based on conditions.
         * @param question A custom question. Use the `question.value` property to access the question's value.
         * @returns An error text.
         */
        getErrorText?: (question: Question) => string;
        /**
         * A function that is called after the question value is set.
         *
         * Parameters:
         *
         * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
         * A custom question.
         * - `newValue`: `any`\
         * A new value for the question.
         *
         * Unlike the [`onValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/icustomquestiontypeconfiguration#onValueChanged) function, which is called only when the question value is changed in the UI, `onValueSet` is called when the value is changed in code as well.
         *
         * [View Demo](https://surveyjs.io/survey-creator/examples/smart-search-input/ (linkStyle))
         */
        onValueSet?: (question: Question, newValue: any) => void;
        onSetQuestionValue?: (question: Question, newValue: any) => void;
        valueToQuestion?: (val: any) => any;
        valueFromQuestion?: (val: any) => any;
        getValue?: (val: any) => any;
        setValue?: (val: any) => any;
    }
    export class ComponentQuestionJSON {
        name: string;
        json: ICustomQuestionTypeConfiguration;
        private dynamicProperties;
        constructor(name: string, json: ICustomQuestionTypeConfiguration);
        onInit(): void;
        onCreated(question: Question): void;
        onLoaded(question: Question): void;
        onAfterRender(question: Question, htmlElement: any): void;
        onAfterRenderContentElement(question: Question, element: Question, htmlElement: any): void;
        onUpdateQuestionCssClasses(question: Question, element: Question, css: any): void;
        onSetQuestionValue(question: Question, newValue: any): void;
        onPropertyChanged(question: Question, propertyName: string, newValue: any): void;
        onValueChanged(question: Question, name: string, newValue: any): void;
        onValueChanging(question: Question, name: string, newValue: any): any;
        onGetErrorText(question: Question): string;
        onItemValuePropertyChanged(question: Question, item: ItemValue, propertyName: string, name: string, newValue: any): void;
        getDisplayValue(keyAsText: boolean, value: any, question: Question): any;
        readonly defaultQuestionTitle: any;
        setValueToQuestion(val: any): any;
        getValueFromQuestion(val: any): any;
        readonly isComposite: boolean;
        getDynamicProperties(): Array<JsonObjectProperty>;
        private calcDynamicProperties;
    }
    export class ComponentCollection {
        static Instance: ComponentCollection;
        private customQuestionValues;
        onCreateComposite: (name: string, questionJSON: ComponentQuestionJSON) => QuestionCompositeModel;
        onCreateCustom: (name: string, questionJSON: ComponentQuestionJSON) => QuestionCustomModel;
        onAddingJson: (name: string, isComposite: boolean) => void;
        add(json: ICustomQuestionTypeConfiguration): void;
        remove(componentName: string): boolean;
        readonly items: Array<ComponentQuestionJSON>;
        getCustomQuestionByName(name: string): ComponentQuestionJSON;
        private getCustomQuestionIndex;
        private removeByIndex;
        clear(includeInternal?: boolean): void;
        createQuestion(name: string, questionJSON: ComponentQuestionJSON): Question;
        protected createCompositeModel(name: string, questionJSON: ComponentQuestionJSON): QuestionCompositeModel;
        protected createCustomModel(name: string, questionJSON: ComponentQuestionJSON): QuestionCustomModel;
    }
    export abstract class QuestionCustomModelBase extends Question implements ISurveyImpl, ISurveyData, IPanel {
        customQuestion: ComponentQuestionJSON;
        private locQuestionTitle;
        constructor(name: string, customQuestion: ComponentQuestionJSON);
        getType(): string;
        locStrsChanged(): void;
        localeChanged(): void;
        protected getDefaultTitle(): string;
        addUsedLocales(locales: Array<string>): void;
        needResponsiveWidth(): boolean;
        protected createWrapper(): void;
        protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
        itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
        protected onFirstRenderingCore(): void;
        onHidingContent(): void;
        getProgressInfo(): IProgressInfo;
        protected abstract getElement(): SurveyElement;
        protected initElement(el: SurveyElement): void;
        protected isSettingValOnLoading: boolean;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        onSurveyLoad(): void;
        afterRenderQuestionElement(el: HTMLElement): void;
        afterRenderCore(el: any): void;
        protected onUpdateQuestionCssClasses(element: Question, css: any): void;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        protected setNewValue(newValue: any): void;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        getSurveyData(): ISurveyData;
        getTextProcessor(): ITextProcessor;
        getValue(name: string): any;
        setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
        protected getQuestionByName(name: string): IQuestion;
        protected isValueChanging(name: string, newValue: any): boolean;
        protected convertDataName(name: string): string;
        protected convertDataValue(name: string, newValue: any): any;
        getVariable(name: string): any;
        setVariable(name: string, newValue: any): void;
        getComment(name: string): string;
        setComment(name: string, newValue: string, locNotification: any): any;
        getAllValues(): any;
        getFilteredValues(): any;
        getFilteredProperties(): any;
        findQuestionByName(name: string): IQuestion;
        getEditingSurveyElement(): Base;
        addElement(element: IElement, index: number): void;
        removeElement(element: IElement): boolean;
        getQuestionTitleLocation(): string;
        getQuestionTitleWidth(): string;
        getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
        updateColumns(): void;
        getQuestionStartIndex(): string;
        getChildrenLayoutType(): string;
        elementWidthChanged(el: IElement): void;
        readonly elements: Array<IElement>;
        indexOf(el: IElement): number;
        ensureRowsVisibility(): void;
        validateContainerOnly(): void;
        onQuestionValueChanged(el: IElement): void;
        getQuestionErrorLocation(): string;
        protected getContentDisplayValueCore(keyAsText: boolean, value: any, question: Question): any;
    }
    export class QuestionCustomModel extends QuestionCustomModelBase {
        private questionWrapper;
        private hasJSONTitle;
        getTemplate(): string;
        getDynamicProperties(): Array<JsonObjectProperty>;
        getDynamicType(): string;
        getOriginalObj(): Base;
        protected createWrapper(): void;
        private getDynamicProperty;
        protected getElement(): SurveyElement;
        supportGoNextPageAutomatic(): boolean;
        onAnyValueChanged(name: string, questionName: string): void;
        protected getQuestionByName(name: string): IQuestion;
        protected getDefaultTitle(): string;
        setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
        updateCommentFromSurvey(newValue: any): any;
        readonly requireUpdateCommentValue: boolean;
        protected onSetData(): void;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        focus(onError?: boolean): void;
        afterRenderCore(el: any): void;
        readonly contentQuestion: Question;
        protected createQuestion(): Question;
        private checkCreatedQuestion;
        onSurveyLoad(): void;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected convertDataName(name: string): string;
        protected convertDataValue(name: string, newValue: any): any;
        protected getContentQuestionValue(): any;
        protected setContentQuestionValue(val: any): void;
        protected canSetValueToSurvey(): boolean;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        onSurveyValueChanged(newValue: any): void;
        protected getValueCore(): any;
        private isSettingValueChanged;
        protected setValueChangedDirectly(val: boolean): void;
        private createDynamicProperties;
        protected initElement(el: SurveyElement): void;
        updateElementCss(reNew?: boolean): void;
        setIsMobile(val: boolean): void;
        protected updateElementCssCore(cssClasses: any): void;
        protected getDisplayValueCore(keyAsText: boolean, value: any): any;
    }
    export class QuestionCompositeModel extends QuestionCustomModelBase {
        customQuestion: ComponentQuestionJSON;
        static ItemVariableName: string;
        private panelWrapper;
        private textProcessing;
        constructor(name: string, customQuestion: ComponentQuestionJSON);
        protected createWrapper(): void;
        getTemplate(): string;
        protected getElement(): SurveyElement;
        protected getCssRoot(cssClasses: any): string;
        readonly contentPanel: PanelModel;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        updateElementCss(reNew?: boolean): void;
        dispose(): void;
        private editingObjValue;
        private onEditingObjPropertyChanged;
        private updateEditingObj;
        private unConnectEditingObj;
        getEditingSurveyElement(): Base;
        getTextProcessor(): ITextProcessor;
        findQuestionByName(name: string): IQuestion;
        protected clearValueIfInvisibleCore(reason: string): void;
        onAnyValueChanged(name: string, questionName: string): void;
        readonly hasSingleInput: boolean;
        readonly isContainer: boolean;
        protected createPanel(): PanelModel;
        protected onReadOnlyChanged(): void;
        updateValueFromSurvey(newValue: any, clearData?: boolean): void;
        onSurveyLoad(): void;
        private setIsContentElement;
        setVisibleIndex(val: number): number;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        onSurveyValueChanged(newValue: any): void;
        getValue(name: string): any;
        protected getQuestionByName(name: string): IQuestion;
        private settingNewValue;
        setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
        setComment(name: string, newValue: string, locNotification: any): any;
        getComment(name: string): string;
        private getCommentName;
        private runPanelTriggers;
        getFilteredValues(): any;
        private updateValueCoreWithPanelValue;
        private getContentPanelValue;
        private getValueForContentPanel;
        private setNewValueIntoQuestion;
        addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
        protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean, includeItSelf: boolean): void;
        protected convertDataValue(name: string, newValue: any): any;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        private setValuesIntoQuestions;
        protected getDisplayValueCore(keyAsText: boolean, value: any): any;
        private setAfterRenderCallbacks;
        readonly ariaRole: string;
        setIsMobile(val: boolean): void;
    }
}
declare module "packages/survey-core/src/questionfactory" {
    import { Question } from "packages/survey-core/src/question";
    import { IElement } from "packages/survey-core/src/base-interfaces";
    export class QuestionFactory {
        static Instance: QuestionFactory;
        static readonly DefaultChoices: string[];
        static readonly DefaultColums: string[];
        static readonly DefaultRows: string[];
        static readonly DefaultMutlipleTextItems: string[];
        registerQuestion(questionType: string, questionCreator: (name: string) => Question, showInToolbox?: boolean): void;
        registerCustomQuestion(questionType: string): void;
        unregisterElement(elementType: string, removeFromSerializer?: boolean): void;
        clear(): void;
        getAllTypes(): Array<string>;
        createQuestion(questionType: string, name: string): Question;
    }
    export class ElementFactory {
        static Instance: ElementFactory;
        private creatorHash;
        registerElement(elementType: string, elementCreator: (name: string) => IElement, showInToolbox?: boolean): void;
        registerCustomQuestion: (questionType: string, showInToolbox?: boolean) => void;
        clear(): void;
        unregisterElement(elementType: string, removeFromSerializer?: boolean): void;
        getAllToolboxTypes(): Array<string>;
        getAllTypes(): Array<string>;
        createElement(elementType: string, name: string): IElement;
        private getAllTypesCore;
    }
}
declare module "packages/survey-core/src/drag-drop-helper-v1" {
    import { IElement, ISurveyElement } from "packages/survey-core/src/base-interfaces";
    export class DragDropInfo {
        source: IElement;
        target: IElement;
        nestedPanelDepth: number;
        constructor(source: IElement, target: IElement, nestedPanelDepth?: number);
        destination: ISurveyElement;
        isBottom: boolean;
        isEdge: boolean;
    }
}
declare module "packages/survey-core/src/drag-drop-panel-helper-v1" {
    import { IElement, ISurveyElement } from "packages/survey-core/src/base-interfaces";
    import { DragDropInfo } from "packages/survey-core/src/drag-drop-helper-v1";
    import { PanelModelBase, QuestionRowModel } from "packages/survey-core/src/panel";
    export class DragDropPanelHelperV1 {
        private panel;
        constructor(panel: PanelModelBase);
        dragDropAddTarget(dragDropInfo: DragDropInfo): void;
        dragDropFindRow(findElement: ISurveyElement): QuestionRowModel;
        dragDropMoveElement(src: IElement, target: IElement, targetIndex: number): void;
        updateRowsOnElementAdded(element: IElement, index: number, dragDropInfo?: DragDropInfo, thisElement?: PanelModelBase): void;
        private dragDropAddTargetToRow;
        private dragDropAddTargetToEmptyPanel;
        private dragDropAddTargetToExistingRow;
        private dragDropAddTargetToNewRow;
        private dragDropAddTargetToEmptyPanelCore;
    }
}
declare module "packages/survey-core/src/panel" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { Base } from "packages/survey-core/src/base";
    import { ISurveyImpl, IPage, IPanel, IConditionRunner, IElement, ISurveyElement, IQuestion, ISurveyErrorOwner, ITitleOwner, IProgressInfo, ISurvey, IFindElement } from "packages/survey-core/src/base-interfaces";
    import { DragTypeOverMeEnum, SurveyElement } from "packages/survey-core/src/survey-element";
    import { Question } from "packages/survey-core/src/question";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { findScrollableParent } from "packages/survey-core/src/utils/utils";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { IAction } from "packages/survey-core/src/actions/action";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    import { DragDropInfo } from "packages/survey-core/src/drag-drop-helper-v1";
    import { AnimationGroup } from "packages/survey-core/src/utils/animation";
    import { PanelLayoutColumnModel } from "packages/survey-core/src/panel-layout-column";
    export class QuestionRowModel extends Base {
        panel: PanelModelBase;
        private static rowCounter;
        private static getRowId;
        protected _scrollableParent: any;
        protected _updateVisibility: any;
        private readonly allowRendering: any;
        private lazyRenderingTimeout;
        startLazyRendering(rowContainerDiv: HTMLElement, findScrollableContainer?: typeof findScrollableParent): void;
        ensureVisibility(): void;
        stopLazyRendering(): void;
        private idValue;
        constructor(panel: PanelModelBase);
        private isLazyRenderingValue;
        setIsLazyRendering(val: boolean): void;
        isLazyRendering(): boolean;
        readonly id: string;
        protected equalsCore(obj: Base): boolean;
        readonly elements: Array<IElement>;
        protected getIsAnimationAllowed(): boolean;
        private getVisibleElementsAnimationOptions;
        visibleElementsAnimation: AnimationGroup<IElement>;
        visibleElements: Array<IElement>;
        onVisibleChangedCallback: () => void;
        visible: boolean;
        isNeedRender: boolean;
        updateVisible(): void;
        addElement(q: IElement): void;
        readonly index: number;
        private setWidth;
        private getRenderedCalcWidth;
        private getElementWidth;
        private getRenderedWidthFromWidth;
        dragTypeOverMe: DragTypeOverMeEnum;
        dispose(): void;
        getRowCss(): string;
        private rootElement?;
        setRootElement(element?: HTMLElement): void;
        getRootElement(): HTMLElement;
    }
    /**
     * A base class for the [PanelModel](https://surveyjs.io/form-library/documentation/panelmodel) and [PageModel](https://surveyjs.io/form-library/documentation/pagemodel) classes.
     */
    export class PanelModelBase extends SurveyElement<Question> implements IPanel, IConditionRunner, ISurveyErrorOwner, ITitleOwner {
        private static panelCounter;
        private static getPanelId;
        private elementsValue;
        private isQuestionsReady;
        private questionsValue;
        private _columns;
        private _columnsReady;
        gridLayoutColumns: Array<PanelLayoutColumnModel>;
        addElementCallback: (element: IElement) => void;
        removeElementCallback: (element: IElement) => void;
        onGetQuestionTitleLocation: () => string;
        private dragDropPanelHelper;
        onAddRow(row: QuestionRowModel): void;
        private getRowsAnimationOptions;
        private rowsAnimation;
        visibleRows: Array<QuestionRowModel>;
        onRemoveRow(row: QuestionRowModel): void;
        onRowVisibleChanged(): void;
        constructor(name?: string);
        getType(): string;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        endLoadingFromJson(): void;
        showTitle: boolean;
        readonly hasTextInTitle: boolean;
        private resetHasTextInTitle;
        readonly hasTitle: boolean;
        delete(doDispose?: boolean): void;
        private deletePanel;
        protected removeFromParent(): void;
        protected canShowTitle(survey: ISurvey): boolean;
        showDescription: boolean;
        readonly _showDescription: boolean;
        localeChanged(): void;
        locStrsChanged(): void;
        getMarkdownHtml(text: string, name: string): string;
        readonly locNavigationTitle: LocalizableString;
        readonly renderedNavigationTitle: string;
        /*
        * Returns a character or text string that indicates a required panel/page.
        * @see SurveyModel.requiredText
        * @see isRequired
        */
        readonly requiredText: string;
        protected readonly titlePattern: string;
        readonly isRequireTextOnStart: boolean;
        readonly isRequireTextBeforeTitle: boolean;
        readonly isRequireTextAfterTitle: boolean;
        /*
        * Specifies a custom error message for a required panel/page.
        * @see isRequired
        * @see requiredIf
        */
        requiredErrorText: string;
        readonly locRequiredErrorText: LocalizableString;
        /*
        * Specifies the sort order of questions in the panel/page.
        *
        * Possible values:
        *
        * - `"initial"` - Preserves the original order of questions.
        * - `"random"` - Displays questions in random order.
        * - `"default"` (default) - Inherits the setting from the Survey's `questionsOrder` property.
        * @see SurveyModel.questionsOrder
        * @see areQuestionsRandomized
        */
        questionsOrder: string;
        private canRandomize;
        protected isRandomizing: boolean;
        randomizeElements(isRandom: boolean): boolean;
        /*
        * Returns `true` if elements in this panel/page are arranged in random order.
        * @see questionsOrder
        */
        readonly areQuestionsRandomized: boolean;
        /*
        * Returns a survey element (panel or page) that contains this panel and allows you to move the panel to a different survey element.
        *
        * For `PageModel` objects, the `parent` property is `null`, except in the following cases:
        *
        * - `SurveyModel`'s [`questionsOnPageMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode) is set to `"singlePage"`.
        * - The page is included in a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page).
        *
        * In those cases, the survey creates an internal `PageModel` object to show all questions on one page, and the `parent` property contains this object.
        */
        parent: PanelModelBase;
        readonly depth: number;
        /*
        * A Boolean expression. If it evaluates to `false`, this panel/page becomes hidden.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visible
        * @see isVisible
        */
        visibleIf: string;
        protected calcCssClasses(css: any): any;
        /*
        * An auto-generated unique element identifier.
        */
        id: string;
        readonly isPanel: boolean;
        getPanel(): IPanel;
        getLayoutType(): string;
        isLayoutTypeSupported(layoutType: string): boolean;
        /*
        * An array of all questions within this panel/page. Includes questions within nested panels.
        * @see elements
        */
        readonly questions: Array<Question>;
        getQuestions(includeNested: boolean): Array<Question>;
        protected getValidName(name: string): string;
        /**
         * Returns a question with a specified `name`. This method does not find questions within nested panels.
         * @param name A question name.
         */
        getQuestionByName(name: string): Question;
        /**
         * Returns a survey element with a specified `name`. This method can find survey elements within nested elements.
         * @param name An element name.
         */
        getElementByName(name: string): IElement;
        getQuestionByValueName(valueName: string): Question;
        getQuestionsByValueName(valueName: string): Array<Question>;
        /**
         * Returns a JSON object with question values nested in the panel/page.
         * @see getDisplayValue
         */
        getValue(): any;
        collectValues(data: any, level: number): boolean;
        /**
         * Returns a JSON object with display texts that correspond to question values nested in the panel/page.
         * @param keysAsText Pass `true` if not only values in the object should be display texts, but also keys. Default value: `false`.
         * @see getValue
         */
        getDisplayValue(keysAsText: boolean): any;
        /**
         * Returns a JSON object with comments left to questions within this panel/page. Question names are used as keys.
         */
        getComments(): any;
        /**
         * Removes values that cannot be assigned to nested questions, for example, choices unlisted in the `choices` array.
         *
         * Call this method after you assign new question values in code to ensure that they are acceptable.
         *
         * > This method does not remove values for invisible questions and values that fail validation. Call the `validate()` method to validate newly assigned values.
         *
         * @see validate
         */
        clearIncorrectValues(): void;
        /**
         * Empties the `errors` array for this panel/page and all its child elements (panels and questions).
         * @see errors
         */
        clearErrors(): void;
        private markQuestionListDirty;
        /*
        * An array of all survey elements (questions or panels) within this panel/page. Does not include questions within nested panels.
        * @see questions
        */
        readonly elements: Array<IElement>;
        getElementsInDesign(includeHidden?: boolean): Array<IElement>;
        /**
         * Checks whether a given element belongs to this panel/page or nested panels.
         * @param element A survey element to check.
         */
        containsElement(element: IElement): boolean;
        /*
        * Makes the panel/page require an answer at least in one nested question. If a respondent leaves the panel/page without any answers, the survey displays a validation error.
        * @see requiredIf
        * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
        */
        isRequired: boolean;
        /*
        * A Boolean expression. If it evaluates to `true`, this panel/page becomes required (at least one question in the panel/page should have an answer).
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see isRequired
        */
        requiredIf: string;
        searchText(text: string, founded: Array<IFindElement>): void;
        hasErrors(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
        /**
         * Validates questions within this panel or page and returns `false` if the validation fails.
         * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
         * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error.
         * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
         */
        validate(fireCallback?: boolean, focusOnFirstError?: boolean, rec?: any): boolean;
        validateContainerOnly(): void;
        onQuestionValueChanged(el: IElement): void;
        private hasErrorsInPanels;
        getErrorCustomText(text: string, error: SurveyError): string;
        private hasRequiredError;
        protected hasErrorsCore(rec: any): void;
        protected getContainsErrors(): boolean;
        updateElementVisibility(): void;
        getFirstQuestionToFocus(withError?: boolean, ignoreCollapseState?: boolean): Question;
        getFirstVisibleQuestion(): Question;
        getFirstVisibleElement(): IElement;
        /**
         * Focuses the first question in this panel/page.
         * @see focusFirstErrorQuestion
         */
        focusFirstQuestion(): void;
        /**
         * Focuses the first question with a validation error in this panel/page.
         * @see validate
         * @see focusFirstQuestion
         */
        focusFirstErrorQuestion(): void;
        addQuestionsToList(list: Array<IQuestion>, visibleOnly?: boolean, includingDesignTime?: boolean): void;
        addPanelsIntoList(list: Array<IPanel>, visibleOnly?: boolean, includingDesignTime?: boolean): void;
        private addElementsToList;
        private addElementsToListCore;
        private calcMaxRowColSpan;
        private updateColumnWidth;
        private onColumnPropertyValueChangedCallback;
        updateColumns(): void;
        updateRootStyle(): void;
        updateCustomWidgets(): void;
        /*
        * Sets a title location relative to the input field for questions that belong to this panel/page.
        *
        * Use this property to override the `questionTitleLocation` property specified for the survey. You can also set the `titleLocation` property for individual questions.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the survey.
        * - `"top"` - Displays the title above the input field.
        * - `"bottom"` - Displays the title below the input field.
        * - `"left"` - Displays the title to the left of the input field.
        * - `"hidden"` - Hides the question title.
        *
        * > Certain question types (Matrix, Multiple Text) do not support the `"left"` value. For them, the `"top"` value is used.
        * @see SurveyModel.questionTitleLocation
        */
        questionTitleLocation: string;
        getQuestionTitleLocation(): string;
        availableQuestionTitleWidth(): boolean;
        hasElementWithTitleLocationLeft(): boolean;
        /**
         * Sets consistent width for question titles in CSS values. Applies only when [`questionTitleLocation`](#questionTitleLocation) evaluates to `"left"`.
         *
         * Default value: `undefined`
         */
        questionTitleWidth: string;
        getQuestionTitleWidth(): string;
        readonly columns: Array<PanelLayoutColumnModel>;
        protected generateColumns(): void;
        updateGridColumns(): void;
        getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
        protected getStartIndex(): string;
        getQuestionStartIndex(): string;
        getChildrenLayoutType(): string;
        getProgressInfo(): IProgressInfo;
        readonly root: PanelModelBase;
        protected childVisibilityChanged(): void;
        protected canRenderFirstRows(): boolean;
        private isLazyRenderInRow;
        createRowAndSetLazy(index: number): QuestionRowModel;
        createRow(): QuestionRowModel;
        onSurveyLoad(): void;
        protected onFirstRenderingCore(): void;
        updateRows(): void;
        readonly rows: Array<QuestionRowModel>;
        ensureRowsVisibility(): void;
        protected onRowsChanged(): void;
        private locCountRowUpdates;
        private blockRowsUpdates;
        private releaseRowsUpdates;
        private updateRowsBeforeElementRemoved;
        private updateRowsOnElementAdded;
        private canFireAddRemoveNotifications;
        protected onAddElement(element: IElement, index: number): void;
        protected onRemoveElement(element: IElement): void;
        protected unregisterElementPropertiesChanged(element: IElement): void;
        private onRemoveElementNotifySurvey;
        private onElementVisibilityChanged;
        private onElementStartWithNewLineChanged;
        private updateRowsVisibility;
        canBuildRows(): boolean;
        private buildRows;
        protected getElementsForRows(): Array<IElement>;
        getDragDropInfo(): any;
        private updateRowsOnElementRemoved;
        updateRowsRemoveElementFromRow(element: IElement, row: QuestionRowModel): void;
        getAllRows(): Array<QuestionRowModel>;
        private findRowAndIndexByElement;
        private forceRenderRow;
        forceRenderElement(el: IElement, elementsRendered?: () => void, gap?: number): void;
        forceRenderRows(rows: Array<QuestionRowModel>, elementsRendered?: () => void): void;
        findRowByElement(el: IElement): QuestionRowModel;
        elementWidthChanged(el: IElement): void;
        readonly processedTitle: string;
        protected getRenderedTitle(str: string): string;
        /*
        * Gets or sets panel/page visibility.
        *
        * If you want to display or hide a survey element based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visibleIf
        * @see isVisible
        */
        visible: boolean;
        onHidingContent(): void;
        protected onVisibleChanged(): void;
        protected notifyStateChanged(prevState: string): void;
        /*
        * Returns `true` if the panel/page is visible or the survey is currently in design mode.
        *
        * If you want to display or hide a question based on a condition, specify the `visibleIf` property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visibleIf
        * @see visible
        */
        readonly isVisible: boolean;
        getIsContentVisible(exceptionQuestion?: IQuestion): boolean;
        getIsPageVisible(exceptionQuestion?: IQuestion): boolean;
        private lastVisibleIndex;
        setVisibleIndex(index: number): number;
        private updateVisibleIndexes;
        private resetVisibleIndexes;
        protected beforeSetVisibleIndex(index: number): number;
        protected getPanelStartIndex(index: number): number;
        protected isContinueNumbering(): boolean;
        readonly isReadOnly: boolean;
        protected onReadOnlyChanged(): void;
        updateElementCss(reNew?: boolean): void;
        /*
        * A Boolean expression. If it evaluates to `false`, this panel/page becomes read-only.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see readOnly
        * @see isReadOnly
        */
        enableIf: string;
        /**
         * Adds a survey element (question or panel) to this panel/page. Returns `true` if the element was added successfully; `false` otherwise.
         * @param element A survey element to add.
         * @param index A desired index of this element in the `elements` array.
         * @see addNewQuestion
         * @see addNewPanel
         */
        addElement(element: IElement, index?: number): boolean;
        insertElement(element: IElement, dest?: IElement, location?: "bottom" | "top" | "left" | "right"): void;
        insertElementAfter(element: IElement, after: IElement): void;
        insertElementBefore(element: IElement, before: IElement): void;
        protected canAddElement(element: IElement): boolean;
        addQuestion(question: Question, index?: number): boolean;
        addPanel(panel: PanelModel, index?: number): boolean;
        /**
         * Creates a new question of a given type and adds it to the `elements` array at a specified index.
         *
         * This method returns `null` if the question cannot be created or added to this panel/page; otherwise, the method returns the created question.
         *
         * @param questionType A [question type](https://surveyjs.io/form-library/documentation/question#getType).
         * @param name A question name.
         * @param index A desired index of the new question in the `elements` array.
         * @see elements
         * @see addElement
         */
        addNewQuestion(questionType: string, name?: string, index?: number): Question;
        /**
         * Creates a new panel and adds it to the end of the `elements` array.
         *
         * This method returns `null` if the panel cannot be created or added to this panel/page; otherwise, the method returns the created panel.
         * @param name A panel name.
         * @see elementsup
         * @see addElement
         */
        addNewPanel(name?: string): PanelModel;
        indexOf(element: IElement): number;
        protected createNewPanel(name: string): PanelModel;
        /**
         * Deletes a survey element (question or panel) from this panel/page. Returns `true` if the element was deleted successfully; `false` otherwise.
         * @param element A survey element to delete.
         * @see elements
         */
        removeElement(element: IElement): boolean;
        removeQuestion(question: Question): void;
        private isRunningConditions;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        onAnyValueChanged(name: string, questionName: string): void;
        checkBindings(valueName: string, value: any): void;
        dragDropAddTarget(dragDropInfo: DragDropInfo): void;
        dragDropFindRow(findElement: ISurveyElement): QuestionRowModel;
        dragDropMoveElement(src: IElement, target: IElement, targetIndex: number): void;
        needResponsiveWidth(): boolean;
        readonly hasDescriptionUnderTitle: boolean;
        readonly cssHeader: string;
        readonly cssDescription: string;
        /*
        * Specifies the error message position for questions that belong to this page/panel.
        *
        * Use this property to override the [`questionErrorLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation) property specified for the survey. You can also set the [`errorLocation`](https://surveyjs.io/form-library/documentation/question#errorLocation) property for individual questions.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the survey.
        * - `"top"` - Displays error messages above questions.
        * - `"bottom"` - Displays error messages below questions.
        */
        questionErrorLocation: string;
        getQuestionErrorLocation(): string;
        getTitleOwner(): ITitleOwner;
        readonly no: string;
        readonly cssTitleNumber: string;
        readonly cssRequiredText: string;
        readonly cssError: string;
        protected getCssError(cssClasses: any): string;
        getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
        afterRender(el: HTMLElement): void;
        dispose(): void;
        protected disposeElements(): void;
    }
    /**
     * A class that describes the Panel container element.
     *
     * A panel can contain questions and other panels. Refer to the following help topic for an illustration: [Survey Structure](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#survey-structure).
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-panel/ (linkStyle))
     */
    export class PanelModel extends PanelModelBase implements IElement {
        constructor(name?: string);
        getType(): string;
        readonly contentId: string;
        getSurvey(live?: boolean): ISurvey;
        readonly isPanel: boolean;
        /*
        * Returns a page to which the panel belongs and allows you to move this panel to a different page.
        * @see PanelModelBase.parent
        */
        page: IPage;
        protected removeFromParent(): void;
        moveTo(container: IPanel, insertBefore?: any): boolean;
        /*
        * Returns the visible index of the panel in the survey. Commonly it is -1 and it doesn't show.
        * You have to set showNumber to true to show index/numbering for the Panel
        * @see showNumber
        */
        readonly visibleIndex: number;
        /*
        * Specifies whether to show the panel number in the title.
        *
        * Default value: `false`
        * @see SurveyModel.showQuestionNumbers
        * @see SurveyModel.questionTitlePattern
        */
        showNumber: boolean;
        /*
        * Gets or sets a value that specifies how the elements numbers inside panel are displayed.
        *
        * The following options are available:
        *
        * - `default` - display questions numbers as defined in parent panel or survey
        * - `onpanel` - display questions numbers, start numbering from beginning of this page
        * - `off` - turn off the numbering for questions titles
        * @see showNumber
        */
        showQuestionNumbers: string;
        /*
        * Specifies a number or letter used to start numbering of elements inside the panel.
        *
        * You can include desired prefixes and postfixes alongside the number or letter:
        *
        * ```js
        * "questionStartIndex": "a.", // a., b., c., ...
        * "questionStartIndex": "#3", // #3, #4, #5, ...
        * "questionStartIndex": "(B)." // (B)., (C)., (D)., ...
        * ```
        * Default value: `"1."` (inherited from `SurveyModel`'s `questionStartIndex` property)
        * @see SurveyModel.questionStartIndex
        * @see showQuestionNumbers
        */
        questionStartIndex: string;
        getQuestionStartIndex(): string;
        /*
        * A question number or letter (depends on the `questionStartIndex` property).
        *
        * When the question number, title, or the entire question is invisible, this property returns an empty string.
        * @see questionStartIndex
        * @see showNumber
        * @see visibleIf
        */
        readonly no: string;
        private calcNo;
        protected notifyStateChanged(prevState: string): void;
        protected createLocTitleProperty(): LocalizableString;
        protected beforeSetVisibleIndex(index: number): number;
        protected getPanelStartIndex(index: number): number;
        private hasParentInQuestionIndex;
        protected isContinueNumbering(): boolean;
        private notifySurveyOnVisibilityChanged;
        protected getRenderedTitle(str: string): string;
        /*
        * Increases or decreases an indent of panel content from the left edge. Accepts positive integer values and 0.
        */
        innerIndent: number;
        /*
        * Disable this property if you want to render the current panel on the same line or row with the previous question or panel.
        */
        startWithNewLine: boolean;
        allowAdaptiveActions: boolean;
        innerPaddingLeft: string;
        protected calcPaddingLeft(): string;
        protected calcPaddingRight(): string;
        protected resetIndents(): void;
        private getIndentSize;
        clearOnDeletingContainer(): void;
        readonly footerActions: Array<IAction>;
        private footerToolbarValue;
        onGetFooterActionsCallback: () => Array<IAction>;
        onGetFooterToolbarCssCallback: () => string;
        getFooterToolbar(): ActionContainer;
        readonly hasEditButton: boolean;
        cancelPreview(): void;
        readonly cssTitle: string;
        protected getCssPanelTitle(): string;
        getCssTitleExpandableSvg(): string;
        readonly showErrorsAbovePanel: boolean;
        protected getCssError(cssClasses: any): string;
        protected onVisibleChanged(): void;
        needResponsiveWidth(): boolean;
        focusIn(): void;
        protected getHasFrameV2(): boolean;
        protected getIsNested(): boolean;
        readonly showPanelAsPage: boolean;
        private forcusFirstQuestionOnExpand;
        expand(focusFirstQuestion?: boolean): void;
        protected onElementExpanded(elementIsRendered: boolean): void;
        protected getCssRoot(cssClasses: {
            [index: string]: string;
        }): string;
        getContainerCss(): string;
        afterRenderCore(element: HTMLElement): void;
    }
}
declare module "packages/survey-core/src/utils/camera" {
    export class Camera {
        static mediaDevicesCallback: ((callback: (devices: Array<MediaDeviceInfo>) => void) => void) | undefined;
        static clear(): void;
        static setCameraList(list: Array<MediaDeviceInfo>): void;
        private static cameraList;
        private static cameraIndex;
        private static cameraFacingMode;
        private static canSwitchFacingMode;
        hasCamera(callback: (res: boolean) => void): void;
        getMediaConstraints(videoSize?: {
            width?: number;
            height?: number;
        }): MediaStreamConstraints;
        startVideo(videoElement: HTMLVideoElement, callback: (stream: MediaStream) => void, imageWidth?: number, imageHeight?: number): void;
        getImageSize(videoEl: HTMLVideoElement): {
            width: number;
            height: number;
        };
        snap(videoElement: HTMLVideoElement, callback: BlobCallback): boolean;
        private canFlipValue;
        private updateCanFlipValue;
        private onCanFlipChangedCallback?;
        canFlip(onCanFlipChangedCallback?: (res: boolean) => void): boolean;
        flip(): void;
        private hasCameraCallback;
        private setVideoInputs;
    }
}
declare module "packages/survey-core/src/question_file" {
    import { IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
    import { IQuestionPlainData, Question } from "packages/survey-core/src/question";
    import { EventBase, Base } from "packages/survey-core/src/base";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    import { Action } from "packages/survey-core/src/actions/action";
    import { Camera } from "packages/survey-core/src/utils/camera";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    export function dataUrl2File(dataUrl: string, fileName: string, type: string): File;
    /**
     * A base class for question types that support file upload: `QuestionFileModel` and `QuestionSignaturePadModel`.
     */
    export class QuestionFileModelBase extends Question {
        isUploading: boolean;
        currentState: string;
        /**
         * An event that is raised after the upload state has changed.
         *
         * Parameters:
         *
         * - `sender`: `SurveyModel`\
         * A survey instance that raised the event.
         * - `options.state`: `string`\
         * The current upload state: `"empty"`, `"loading"`, `"loaded"`, or `"error"`.
         */
        onUploadStateChanged: EventBase<QuestionFileModelBase>;
        onStateChanged: EventBase<QuestionFileModelBase>;
        protected stateChanged(state: string): void;
        readonly showLoadingIndicator: boolean;
        /*
        * Specifies whether to store file or signature content as text in `SurveyModel`'s [`data`](https://surveyjs.io/form-library/documentation/surveymodel#data) property.
        *
        * If you disable this property, implement `SurveyModel`'s [`onUploadFiles`](https://surveyjs.io/form-library/documentation/surveymodel#onUploadFiles) event handler to specify how to store file content.
        */
        storeDataAsText: boolean;
        /*
        * Enable this property if you want to wait until files are uploaded to complete the survey.
        *
        * Default value: `false`
        */
        waitForUpload: boolean;
        clearValue(keepComment?: boolean): void;
        clearOnDeletingContainer(): void;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        protected uploadFiles(files: File[]): void;
        protected loadPreview(newValue: any): void;
        protected onChangeQuestionValue(newValue: any): void;
        protected getIsQuestionReady(): boolean;
        private isFileLoadingValue;
        protected isFileLoading: boolean;
    }
    export class QuestionFilePage extends Base {
        private question;
        private index;
        private static pageCounter;
        private static getId;
        items: Array<any>;
        id: string;
        constructor(question: QuestionFileModel, index: number);
        readonly css: string;
    }
    /**
     * A class that describes the File Upload question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
     */
    export class QuestionFileModel extends QuestionFileModelBase {
        isDragging: boolean;
        previewValue: any[];
        pages: QuestionFilePage[];
        navigationDirection: "left" | "right" | "left-delete";
        indexToShow: number;
        pageSize: number;
        containsMultiplyFiles: boolean;
        allowCameraAccess: boolean;
        /**
         * Specifies the source of uploaded files.
         *
         * Possible values:
         *
         * - `"file"` (default) - Allows respondents to select a local file.
         * - `"camera"` - Allows respondents to capture and upload a photo.
         * - `"file-camera"` - Allows respondents to select a local file or capture a photo.
         * @see filePlaceholder
         * @see photoPlaceholder
         * @see fileOrPhotoPlaceholder
         */
        sourceType: string;
        fileNavigator: ActionContainer;
        protected prevFileAction: Action;
        protected nextFileAction: Action;
        protected fileIndexAction: Action;
        closeCameraAction: Action;
        takePictureAction: Action;
        changeCameraAction: Action;
        chooseFileAction: Action;
        startCameraAction: Action;
        cleanAction: Action;
        actionsContainer: ActionContainer;
        readonly supportFileNavigator: boolean;
        readonly fileNavigatorVisible: boolean;
        private readonly pagesCount: any;
        readonly actionsContainerVisible: boolean;
        constructor(name: string);
        readonly videoId: string;
        readonly hasVideoUI: boolean;
        readonly hasFileUI: boolean;
        private videoStream;
        startVideo(): void;
        private readonly videoHtmlElement: any;
        private startVideoInCamera;
        stopVideo(): void;
        snapPicture(): void;
        private canFlipCameraValue;
        canFlipCamera(): boolean;
        flipCamera(): void;
        private closeVideoStream;
        onHidingContent(): void;
        protected updateElementCssCore(cssClasses: any): void;
        private getFileIndexCaption;
        private updateFileNavigator;
        private updateRenderedPages;
        private updatePages;
        private prevPreviewLength;
        private previewValueChanged;
        getType(): string;
        protected onChangeQuestionValue(newValue: any): void;
        /*
        * Disable this property only to implement a custom preview.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/file-custom-preview/ (linkStyle))
        * @see allowImagesPreview
        */
        showPreview: boolean;
        /*
        * Specifies whether users can upload multiple files.
        *
        * Default value: `false`
        */
        allowMultiple: boolean;
        /*
        * The image height.
        */
        imageHeight: string;
        /*
        * The image width.
        */
        imageWidth: string;
        /*
        * An [accept](https://www.w3schools.com/tags/att_input_accept.asp) attribute value for the underlying `<input>` element.
        */
        acceptedTypes: string;
        /*
        * Specifies whether to show a preview of image files.
        */
        allowImagesPreview: boolean;
        /*
        * Maximum allowed file size, measured in bytes.
        *
        * Default value: 0 (unlimited)
        */
        maxSize: number;
        chooseFile(event: MouseEvent): void;
        /*
        * Specifies whether users should confirm file deletion.
        *
        * Default value: `false`
        */
        needConfirmRemoveFile: boolean;
        getConfirmRemoveMessage(fileName: string): string;
        confirmRemoveMessage: string;
        confirmRemoveAllMessage: string;
        noFileChosenCaption: string;
        chooseButtonCaption: string;
        takePhotoCaption: string;
        readonly locTakePhotoCaption: LocalizableString;
        replaceButtonCaption: string;
        removeFileCaption: string;
        loadingFileTitle: string;
        chooseFileTitle: string;
        clearButtonCaption: string;
        readonly locClearButtonCaption: LocalizableString;
        /**
         * A placeholder text displayed when the File Upload question doesn't contain any files or photos to upload. Applies only when [`sourceType`](#sourceType) value is `"file-camera"`.
         * @see filePlaceholder
         * @see photoPlaceholder
         */
        fileOrPhotoPlaceholder: string;
        /**
         * A placeholder text displayed when the File Upload question doesn't contain any photos to upload. Applies only when the [`sourceType`](#sourceType) value is `"camera"`.
         * @see filePlaceholder
         * @see fileOrPhotoPlaceholder
         */
        photoPlaceholder: string;
        /**
         * A placeholder text displayed when the File Upload question doesn't contain any files to upload. Applies only when the [`sourceType`](#sourceType) value is `"file"`.
         * @see photoPlaceholder
         * @see fileOrPhotoPlaceholder
         */
        filePlaceholder: string;
        locRenderedPlaceholderValue: LocalizableString;
        readonly locRenderedPlaceholder: LocalizableString;
        readonly currentMode: string;
        readonly isPlayingVideo: boolean;
        private setIsPlayingVideo;
        private updateCurrentMode;
        private updateActionsVisibility;
        readonly inputTitle: string;
        readonly chooseButtonText: string;
        clear(doneCallback?: () => void): void;
        readonly renderCapture: string;
        readonly multipleRendered: string;
        readonly showChooseButton: boolean;
        readonly showFileDecorator: boolean;
        readonly showDragAreaPlaceholder: boolean;
        readonly allowShowPreview: boolean;
        readonly showPreviewContainer: boolean;
        readonly showRemoveButtonCore: boolean;
        readonly showRemoveButton: boolean;
        readonly showRemoveButtonBottom: boolean;
        defaultImage(data: any): boolean;
        /**
         * Removes a file with a specified name.
         */
        removeFile(name: string): void;
        protected removeFileByContent(content: any): void;
        protected setValueFromResult(arg: any): void;
        /**
         * Loads multiple files into the question.
         * @param files An array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects.
         */
        loadFiles(files: File[]): void;
        private cameraValue;
        protected readonly camera: Camera;
        canPreviewImage(fileItem: any): boolean;
        private prevLoadedPreviewValue;
        protected loadPreview(newValue: any): void;
        private allFilesOk;
        private isFileImage;
        getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
        getImageWrapperCss(data: any): string;
        protected getActionsContainerCss(css: any): string;
        getRemoveButtonCss(): string;
        getChooseFileCss(): string;
        getReadOnlyFileCss(): string;
        readonly fileRootCss: string;
        getFileDecoratorCss(): string;
        private onChange;
        protected calcCssClasses(css: any): any;
        onSurveyLoad(): void;
        protected needResponsiveness(): boolean;
        protected supportResponsiveness(): boolean;
        protected getObservedElementSelector(): string;
        private getFileListSelector;
        private _renderedPages;
        renderedPages: Array<QuestionFilePage>;
        private getPagesAnimationOptions;
        private pagesAnimation;
        private calcAvailableItemsCount;
        private calculatedGapBetweenItems;
        private calculatedItemWidth;
        private _width;
        triggerResponsiveness(hard?: boolean): void;
        protected processResponsiveness(_: number, availableWidth: number): boolean;
        private rootElement;
        private canDragDrop;
        afterRenderQuestionElement(el: HTMLElement): void;
        beforeDestroyQuestionElement(el: HTMLElement): void;
        private dragCounter;
        onDragEnter: (event: any) => void;
        onDragOver: (event: any) => boolean;
        onDrop: (event: any) => void;
        onDragLeave: (event: any) => void;
        doChange: (event: any) => void;
        doClean: () => void;
        private clearFilesCore;
        doRemoveFile(data: any, event: any): void;
        private removeFileCore;
        doDownloadFileFromContainer: (event: MouseEvent) => void;
        doDownloadFile: (event: any, data: any) => void;
        dispose(): void;
    }
    export class FileLoader {
        private fileQuestion;
        private callback;
        constructor(fileQuestion: QuestionFileModelBase, callback: (status: string, files: any[]) => void);
        loaded: any[];
        load(files: Array<any>): void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/choicesRestful" {
    import { Base } from "packages/survey-core/src/base";
    import { ITextProcessor, IQuestion, ISurvey } from "packages/survey-core/src/base-interfaces";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    /**
     * Configures access to a RESTful service that returns choices for [Checkbox](https://surveyjs.io/Examples/Library?id=questiontype-checkbox), [Dropdown](https://surveyjs.io/Examples/Library?id=questiontype-dropdown), [Radiogroup](https://surveyjs.io/Examples/Library?id=questiontype-radiogroup), and other multiple-choice question types.
     *
     * Use the following properties to configure this object:
     *
     * ```js
     * {
     *   url: "http://...", // A RESTful service's URL.
     *   valueName: "value", // Specifies which field contains choice values.
     *   titleName: "title", // Specifies which field contains display texts for choice values.
     *   imageLinkName: "imageUrl", // Specifies which field contains image URLs. Used in Image Picker questions.
     *   // Path to the array of choices. Specify `path` only if the array of choices is nested within the object returned by the service.
     *   // The following path separators are allowed: semicolon `;`, comma `,`.
     *   path: "myNestedArray"
     * }
     * ```
     *
     * Typically, you should assign this object to a question's [`choicesByUrl`](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choicesByUrl) property. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
     */
    export class ChoicesRestful extends Base {
        private static cacheText;
        private static noCacheText;
        static EncodeParameters: boolean;
        static clearCache(): void;
        private static itemsResult;
        private static sendingSameRequests;
        private static addSameRequest;
        private static unregisterSameRequests;
        static onBeforeSendRequest: (sender: ChoicesRestful, options: {
            request: XMLHttpRequest;
        }) => void;
        private static getCachedItemsResult;
        private lastObjHash;
        private isRunningValue;
        protected processedUrl: string;
        protected processedPath: string;
        private isUsingCacheFromUrl;
        onProcessedUrlCallback: (url: string, path: string) => void;
        getResultCallback: (items: Array<ItemValue>) => void;
        beforeSendRequestCallback: () => void;
        updateResultCallback: (items: Array<ItemValue>, serverResult: any) => Array<ItemValue>;
        getItemValueCallback: (item: any) => any;
        error: SurveyError;
        owner: IQuestion;
        createItemValue: (value: any) => ItemValue;
        constructor();
        getSurvey(live?: boolean): ISurvey;
        run(textProcessor?: ITextProcessor): void;
        readonly isUsingCache: boolean;
        readonly isRunning: boolean;
        protected getIsRunning(): boolean;
        readonly isWaitingForParameters: boolean;
        protected useChangedItemsResults(): boolean;
        private doEmptyResultCallback;
        private processedText;
        protected parseResponse(response: any): any;
        protected sendRequest(): void;
        getType(): string;
        readonly isEmpty: boolean;
        getCustomPropertiesNames(): Array<string>;
        private getCustomPropertyName;
        private getCustomProperties;
        private getAllPropertiesNames;
        setData(json: any): void;
        getData(): any;
        /*
        * A RESTful service's URL.
        *
        * This property supports [dynamic URLs](https://surveyjs.io/Documentation/Library?id=design-survey-conditional-logic#dynamic-texts). For example, the URL below depends on the `region` question's value. When the value changes, the survey automatically loads a new dataset that corresponds to the selected region.
        *
        * ```js
        * url: "https://surveyjs.io/api/CountriesExample?region={region}"
        * ```
        *
        * [View Demo](https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull (linkStyle))
        * @see path
        * @see valueName
        * @see titleName
        */
        url: string;
        /*
        * Path to the array of choices. The following path separators are allowed: semicolon `;`, comma `,`.
        *
        * Specify this property only if the array of choices is nested within the object returned by the service. For example, the service returns the following object:
        *
        * ```js
        * {
        *   countries: [ ... ],
        *   capitals: [ ... ]
        * }
        * ```
        *
        * To populate choices with values from the `countries` array, set the `path` property to `"countries"`. To use the `capitals` array, set this property to `"capitals"`.
        * @see url
        * @see valueName
        * @see titleName
        */
        path: string;
        /*
        * Specifies which property in the obtained data object contains choice values.
        *
        * [View Demo](https://surveyjs.io/Examples/Library/?id=questiontype-dropdownrestfull (linkStyle))
        *
        * @see url
        * @see path
        * @see titleName
        */
        valueName: string;
        /*
        * Specifies which property in the obtained data object contains display texts for choices.
        *
        * @see url
        * @see path
        * @see valueName
        */
        titleName: string;
        /*
        * Specifies which property in the obtained data object contains image URLs. Used only in [Image Picker](https://surveyjs.io/Examples/Library?id=questiontype-imagepicker) questions.
        *
        * @see url
        * @see path
        * @see valueName
        */
        imageLinkName: string;
        /*
        * Specifies whether the service is allowed to return an empty response or an empty array in a response.
        *
        * Default value: `false`
        */
        allowEmptyResponse: boolean;
        attachOriginalItems: boolean;
        readonly itemValueType: string;
        clear(): void;
        protected beforeSendRequest(): void;
        protected beforeLoadRequest(): void;
        protected onLoad(result: any, loadingObjHash?: string): void;
        protected callResultCallback(items: Array<ItemValue>, loadingObjHash: string): void;
        private setCustomProperties;
        private getPropertyBinding;
        private onError;
        private getResultAfterPath;
        private getPathes;
        private getValue;
        private setTitle;
        private getImageLink;
        private getValueCore;
        private readonly objHash: any;
    }
    /**
     * Obsolete, please use ChoicesRestful
     */
    export class ChoicesRestfull extends ChoicesRestful {
        static EncodeParameters: boolean;
        static clearCache(): void;
        static onBeforeSendRequest: (sender: ChoicesRestful, options: {
            request: XMLHttpRequest;
        }) => void;
    }
}
declare module "packages/survey-core/src/utils/text-area" {
    import { Question } from "packages/survey-core/src/question";
    export interface ITextArea {
        question: any;
        id: () => string;
        propertyNames: Array<string>;
        className: () => string;
        isDisabledAttr: () => boolean;
        isReadOnlyAttr?: () => boolean;
        placeholder: () => string;
        autoGrow: () => boolean;
        maxLength: () => number;
        rows: () => number;
        cols?: () => number;
        getTextValue?: () => any;
        onTextAreaChange?: (event: any) => void;
        onTextAreaInput?: (event: any) => void;
        onTextAreaKeyDown?: (event: any) => void;
        onTextAreaBlur?: (event: any) => void;
        onTextAreaFocus?: (event: any) => void;
        ariaRequired: () => "true" | "false";
        ariaLabel: () => string;
        ariaInvalid?: () => "true" | "false";
        ariaLabelledBy?: () => string;
        ariaDescribedBy?: () => string;
        ariaErrormessage?: () => string;
    }
    export class TextAreaModel {
        private options;
        private element;
        updateElement(): void;
        private onPropertyChangedCallback;
        constructor(options: ITextArea);
        setElement(element: HTMLTextAreaElement | null): void;
        resetElement(): void;
        getTextValue(): string;
        onTextAreaChange(event: any): void;
        onTextAreaInput(event: any): void;
        onTextAreaKeyDown(event: any): void;
        onTextAreaBlur(event: any): void;
        onTextAreaFocus(event: any): void;
        readonly question: Question;
        readonly id: string;
        readonly placeholder: string;
        readonly className: string;
        readonly maxLength: number;
        readonly autoGrow: boolean;
        readonly rows: number;
        readonly cols: number | undefined;
        readonly isDisabledAttr: boolean;
        readonly isReadOnlyAttr: boolean | undefined;
        readonly ariaRequired: "true" | "false";
        readonly ariaLabel: string;
        readonly ariaInvalid: "true" | "false";
        readonly ariaLabelledBy: string;
        readonly ariaDescribedBy: string;
        readonly ariaErrormessage: string;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/question_baseselect" {
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { ISurveyImpl, ISurvey, ISurveyData, IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
    import { IQuestionPlainData, Question } from "packages/survey-core/src/question";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { ChoicesRestful } from "packages/survey-core/src/choicesRestful";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { HashTable } from "packages/survey-core/src/helpers";
    import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
    /**
     * A base class for multiple-choice question types ([Checkboxes](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radio Button Group](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
     */
    export class QuestionSelectBase extends Question {
        visibleChoicesChangedCallback: () => void;
        loadedChoicesFromServerCallback: () => void;
        renderedChoicesChangedCallback: () => void;
        private otherTextAreaModelValue;
        private filteredChoicesValue;
        private conditionChoicesVisibleIfRunner;
        private conditionChoicesEnableIfRunner;
        private prevOtherValue;
        private otherItemValue;
        private choicesFromUrl;
        private cachedValueForUrlRequests;
        private isChoicesLoaded;
        private enableOnLoadingChoices;
        private noneItemValue;
        private refuseItemValue;
        private dontKnowItemValue;
        private newItemValue;
        private canShowOptionItemCallback;
        private waitingGetChoiceDisplayValueResponse;
        private readonly waitingChoicesByURL: any;
        protected selectedItemValues: any;
        constructor(name: string);
        getType(): string;
        dispose(): void;
        readonly otherTextAreaModel: TextAreaModel;
        private getOtherTextAreaOptions;
        protected resetDependedQuestion(): void;
        readonly otherId: string;
        protected getCommentElementsId(): Array<string>;
        protected getItemValueType(): string;
        createItemValue(value: any, text?: string): ItemValue;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        readonly isUsingCarryForward: boolean;
        readonly carryForwardQuestionType: string;
        private setCarryForwardQuestionType;
        readonly isUsingRestful: boolean;
        updateIsUsingRestful(): void;
        supportGoNextPageError(): boolean;
        isLayoutTypeSupported(layoutType: string): boolean;
        localeChanged(): void;
        locStrsChanged(): void;
        private prevOtherErrorValue;
        private updatePrevOtherErrorValue;
        otherValue: string;
        protected otherValueCore: string;
        /*
        * Returns the "Other" choice item. Use this property to change the item's `value` or `text`.
        * @see showOtherItem
        */
        readonly otherItem: ItemValue;
        /*
        * Returns `true` if the "Other" choice item is selected.
        * @see showOtherItem
        */
        readonly isOtherSelected: boolean;
        readonly isNoneSelected: boolean;
        /*
        * Specifies whether to display the "None" choice item.
        *
        * When users select the "None" item in multi-select questions, all other items become unselected.
        * @see noneItem
        * @see noneText
        * @see [settings.noneItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#noneItemValue)
        * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
        */
        showNoneItem: boolean;
        hasNone: boolean;
        /*
        * Returns the "None" choice item. Use this property to change the item's `value` or `text`.
        * @see showNoneItem
        */
        readonly noneItem: ItemValue;
        /*
        * Gets or sets a caption for the "None" choice item.
        * @see showNoneItem
        */
        noneText: string;
        readonly locNoneText: LocalizableString;
        /*
        * Specifies whether to display the "Refuse to answer" choice item.
        *
        * When users select the "Refuse to answer" item in multi-select questions, all other items become unselected.
        * @see refuseItem
        * @see refuseItemText
        * @see [settings.refuseItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#refuseItemValue)
        * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
        */
        showRefuseItem: boolean;
        /*
        * Returns the "Refuse to answer" choice item. Use this property to change the item's `value` or `text`.
        * @see showRefuseItem
        */
        readonly refuseItem: ItemValue;
        /*
        * Gets or sets a caption for the "Refuse to answer" choice item.
        * @see showRefuseItem
        */
        refuseText: string;
        readonly locRefuseText: LocalizableString;
        /*
        * Specifies whether to display the "Don't know" choice item.
        *
        * When users select the "Don't know" item in multi-select questions, all other items become unselected.
        * @see dontKnowItem
        * @see dontKnowItemText
        * @see [settings.dontKnowItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#dontKnowItemValue)
        * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
        */
        showDontKnowItem: boolean;
        /*
        * Returns the "Don't know" choice item. Use this property to change the item's `value` or `text`.
        * @see showDontKnowItem
        */
        readonly dontKnowItem: ItemValue;
        /*
        * Gets or sets a caption for the "Don't know" choice item.
        * @see showDontKnowItem
        */
        dontKnowText: string;
        readonly locDontKnowText: LocalizableString;
        private createDefaultItem;
        /*
        * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes hidden.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Use the `{item}` placeholder to reference the current choice item in the expression.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visibleIf
        * @see choicesEnableIf
        */
        choicesVisibleIf: string;
        /*
        * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes read-only.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Use the `{item}` placeholder to reference the current choice item in the expression.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see enableIf
        * @see choicesVisibleIf
        */
        choicesEnableIf: string;
        surveyChoiceItemVisibilityChange(): void;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected isTextValue(): boolean;
        private isSettingDefaultValue;
        protected setDefaultValue(): void;
        protected getIsMultipleValue(): boolean;
        protected convertDefaultValue(val: any): any;
        protected filterItems(): boolean;
        protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
        protected runItemsEnableCondition(values: HashTable<any>, properties: HashTable<any>): any;
        protected onAfterRunItemsEnableCondition(): void;
        protected onEnableItemCallBack(item: ItemValue): boolean;
        protected onSelectedItemValuesChangedHandler(newValue: any): void;
        protected getItemIfChoicesNotContainThisValue(value: any, text?: string): any;
        protected getSingleSelectedItem(): ItemValue;
        protected onGetSingleSelectedItem(selectedItemByValue: ItemValue): void;
        protected getMultipleSelectedItems(): Array<ItemValue>;
        private setConditionalChoicesRunner;
        private setConditionalEnableChoicesRunner;
        private canSurveyChangeItemVisibility;
        private changeItemVisibility;
        private runConditionsForItems;
        protected getHasOther(val: any): boolean;
        protected getIsItemValue(val: any, item: ItemValue): boolean;
        readonly validatedValue: any;
        protected createRestful(): ChoicesRestful;
        private setNewRestfulProperty;
        autoOtherMode: boolean;
        protected getQuestionComment(): string;
        protected selectOtherValueFromComment(val: boolean): void;
        private isSettingComment;
        protected setQuestionComment(newValue: string): void;
        private onUpdateCommentOnAutoOtherMode;
        private setOtherValueInternally;
        private getValueOnSettingOther;
        clearValue(keepComment?: boolean): void;
        updateCommentFromSurvey(newValue: any): any;
        renderedValue: any;
        private makeCommentEmpty;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean, updateComment?: boolean): void;
        protected setValueCore(newValue: any): void;
        protected setNewValue(newValue: any): void;
        protected valueFromData(val: any): any;
        protected rendredValueFromData(val: any): any;
        protected rendredValueToData(val: any): any;
        protected renderedValueFromDataCore(val: any): any;
        protected rendredValueToDataCore(val: any): any;
        protected needConvertRenderedOtherToDataValue(): boolean;
        protected getIsQuestionReady(): boolean;
        protected updateSelectedItemValues(): void;
        private setCustomValuesIntoItems;
        protected hasUnknownValue(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
        protected hasUnknownValueItem(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
        protected isValueDisabled(val: any): boolean;
        endLoadingFromJson(): void;
        clearIncorrectValuesCallback: () => void;
        /*
        * Configures access to a RESTful service that returns choice items. Refer to the [`ChoicesRestful`](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/dropdown-menu-load-data-from-restful-service/ (linkStyle))
        * @see choices
        * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
        */
        choicesByUrl: ChoicesRestful;
        /*
        * Gets or sets choice items. This property accepts an array of objects with the following structure:
        *
        * ```js
        * {
        *   "value": any, // A unique value to be saved in the survey results.
        *   "text": String, // A display text. This property supports Markdown. When `text` is undefined, `value` is used.
        *   "imageLink": String // A link to the image or video that represents this choice value. Applies only to Image Picker questions.
        *   "customProperty": any // Any property that you find useful.
        * }
        * ```
        *
        * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
        *
        * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
        *
        * If you need to specify only the `value` property, you can set the `choices` property to an array of primitive values, for example, `[ "item1", "item2", "item3" ]`. These values are both saved in survey results and used as display text.
        * @see choicesByUrl
        * @see choicesFromQuestion
        * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
        */
        choices: Array<any>;
        /*
        * Copies choice items from a specified question. Accepts a question name.
        *
        * If you specify this property, the `choices`, `choicesVisibleIf`, `choicesEnableIf`, and `choicesOrder` properties do not apply because their values are copied.
        *
        * In addition, you can specify the `choicesFromQuestionMode` property if you do not want to copy all choice items.
        * @see choicesFromQuestionMode
        * @see choices
        */
        choicesFromQuestion: string;
        private isLockVisibleChoices;
        /*
        * Specifies which choice items to copy from another question. Applies only when the `choicesFromQuestion` property is specified.
        *
        * Possible values:
        *
        * - `"all"` (default) - Copies all choice items.
        * - `"selected"` - Copies only selected choice items.
        * - `"unselected"` - Copies only unselected choice items.
        *
        * Use the `visibleChoices` property to access copied choice items.
        * @see choicesFromQuestion
        * @see visibleChoices
        */
        choicesFromQuestionMode: string;
        /*
        * Specifies which matrix column or dynamic panel question supplies choice values. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.
        *
        * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the `choiceValuesFromQuestion` and [`choiceTextsFromQuestion`](#choiceTextsFromQuestion) properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.
        */
        choiceValuesFromQuestion: string;
        /*
        * Specifies which matrix column or dynamic panel question supplies choice texts. Use this property to construct choice items based on cell values in Dynamic Matrix and question values in Dynamic Panel.
        *
        * Each choice item consists of a value saved in survey results and a text displayed in the UI. To construct a choice item, assign the `name` of a Dynamic Matrix or Dynamic Panel to the [`choicesFromQuestion`](#choicesFromQuestion) property and specify which dynamic panel question or matrix column supplies values and which provides texts. Use the [`choiceValuesFromQuestion`](#choiceValuesFromQuestion) and `choiceTextsFromQuestion` properties for this purpose. If a choice text is empty, a choice value is used as a display text and saved in survey results.
        */
        choiceTextsFromQuestion: string;
        /*
        * Specifies whether to hide the question if no choice items are visible.
        *
        * This property is useful if you show or hide choice items at runtime based on a [condition](https://surveyjs.io/form-library/documentation/questionselectbase#choicesVisibleIf).
        */
        hideIfChoicesEmpty: boolean;
        /*
        * Specifies whether to keep values that cannot be assigned to this question, for example, choices unlisted in the `choices` array.
        *
        * > This property cannot be specified in the survey JSON schema. Use dot notation to specify it.
        * @see clearIncorrectValues
        */
        keepIncorrectValues: boolean;
        storeOthersAsComment: any;
        protected hasOtherChanged(): void;
        /*
        * Specifies the sort order of choice items.
        *
        * Possible values:
        *
        * - `"none"` (default) - Preserves the original order of choice items.
        * - `"asc"`- Sorts choice items in ascending order.
        * - `"desc"`- Sorts choice items in ascending order.
        * - `"random"` - Displays choice items in random order.
        * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
        */
        choicesOrder: string;
        /*
        * Gets or sets a caption for the "Other" choice item.
        * @see showOtherItem
        */
        otherText: string;
        readonly locOtherText: LocalizableString;
        /**
         * Displays the "Select All", "None", and "Other" choices on individual rows.
         * @see showNoneItem
         * @see showOtherItem
         * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
         */
        separateSpecialChoices: boolean;
        /**
         * A placeholder for the comment area. Applies when the `showOtherItem` or `showCommentArea` property is `true`.
         * @see showOtherItem
         * @see showCommentArea
         */
        otherPlaceholder: string;
        otherPlaceHolder: string;
        /*
        * Gets or sets an error message displayed when users select the "Other" choice item but leave the comment area empty.
        * @see showOtherItem
        */
        otherErrorText: string;
        readonly locOtherErrorText: LocalizableString;
        /*
        * An array of visible choice items. Includes the "Select All", "Other", and "None" choice items if they are visible. Items are sorted according to the `choicesOrder` value.
        * @see showNoneItem
        * @see showOtherItem
        * @see choicesOrder
        * @see choices
        * @see enabledChoices
        */
        readonly visibleChoices: Array<ItemValue>;
        /*
        * An array of choice items with which users can interact. Includes the "Select All", "Other", and "None" choice items if they are not disabled. Items are sorted according to the `choicesOrder` value.
        * @see showNoneItem
        * @see showOtherItem
        * @see choicesOrder
        * @see choices
        * @see visibleChoices
        */
        readonly enabledChoices: Array<ItemValue>;
        protected updateVisibleChoices(): void;
        private calcVisibleChoices;
        protected canUseFilteredChoices(): boolean;
        setCanShowOptionItemCallback(func: (item: ItemValue) => boolean): void;
        readonly newItem: ItemValue;
        protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
        protected addNewItemToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
        protected addNonChoicesItems(dict: Array<{
            index: number;
            item: ItemValue;
        }>, isAddAll: boolean): void;
        protected addNonChoiceItem(dict: Array<{
            index: number;
            item: ItemValue;
        }>, item: ItemValue, isAddAll: boolean, showItem: boolean, order: Array<number>): void;
        protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
        isItemInList(item: ItemValue): boolean;
        protected readonly isAddDefaultItems: boolean;
        getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        protected getDisplayValueEmpty(): string;
        private getChoicesDisplayValue;
        protected getDisplayArrayValue(keysAsText: boolean, value: any, onGetValueCallback?: (index: number) => any): string;
        private getItemDisplayValue;
        private getFilteredChoices;
        private readonly activeChoices: any;
        isMessagePanelVisible: boolean;
        private readonly isEmptyActiveChoicesInDesign: any;
        getCarryForwardQuestion(data?: ISurveyData): Question;
        protected getIsReadyDependsOn(): Array<Question>;
        private getQuestionWithChoices;
        private carryForwardQuestion;
        private findCarryForwardQuestion;
        private getQuestionWithChoicesCore;
        private getQuestionWithArrayValue;
        private getChoicesFromArrayQuestion;
        private getValueKeyName;
        private getChoicesFromSelectQuestion;
        private copyChoiceItem;
        protected readonly hasActiveChoices: boolean;
        protected isBuiltInChoice(item: ItemValue): boolean;
        isNoneItem(item: ItemValue): boolean;
        protected getNoneItems(): Array<ItemValue>;
        protected getChoices(): Array<ItemValue>;
        supportOther(): boolean;
        supportNone(): boolean;
        supportRefuse(): boolean;
        supportDontKnow(): boolean;
        protected isSupportProperty(propName: string): boolean;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        protected setSurveyCore(value: ISurvey): void;
        getStoreOthersAsComment(): boolean;
        onSurveyLoad(): void;
        onAnyValueChanged(name: string, questionName: string): void;
        updateValueFromSurvey(newValue: any, clearData: boolean): void;
        protected getCommentFromValue(newValue: any): string;
        protected setOtherValueIntoValue(newValue: any): any;
        onOtherValueInput(event: any): void;
        onOtherValueChange(event: any): void;
        private isRunningChoices;
        private runChoicesByUrl;
        private isFirstLoadChoicesFromUrl;
        protected onBeforeSendRequest(): void;
        protected onLoadChoicesFromUrl(array: Array<ItemValue>): void;
        private canAvoidSettChoicesFromUrl;
        private setChoicesFromUrl;
        private createCachedValueForUrlRequests;
        private updateCachedValueForUrlRequests;
        private isUpdatingChoicesDependedQuestions;
        protected updateChoicesDependedQuestions(): void;
        protected updateDependedQuestion(): void;
        onSurveyValueChanged(newValue: any): void;
        protected onVisibleChoicesChanged(): void;
        protected isVisibleCore(): boolean;
        private sortVisibleChoices;
        private sortArray;
        private randomizeArray;
        private readonly hasChoicesUrl: any;
        clearIncorrectValues(): void;
        private canClearIncorrectValues;
        protected hasValueToClearIncorrectValues(): boolean;
        protected clearValueIfInvisibleCore(reason: string): void;
        /**
         * Returns `true` if a passed choice item is selected.
         *
         * To obtain a choice item to check, use the `noneItem` or `otherItem` property or the `choices` array.
         * @param item A choice item.
         * @see noneItem
         * @see otherItem
         * @see choices
         */
        isItemSelected(item: ItemValue): boolean;
        protected isItemSelectedCore(item: ItemValue): boolean;
        private clearDisabledValues;
        protected clearIncorrectValuesCore(): void;
        protected canClearValueAnUnknown(val: any): boolean;
        protected clearDisabledValuesCore(): void;
        clearUnusedValues(): void;
        getColumnClass(): string;
        getItemIndex(item: any): number;
        getItemClass(item: any): string;
        protected getCurrentColCount(): number;
        protected getItemClassCore(item: any, options: any): string;
        getLabelClass(item: ItemValue): string;
        getControlLabelClass(item: ItemValue): string;
        _renderedChoices: Array<ItemValue>;
        onGetRenderedChoicesCallback?: (visibleChoices: Array<ItemValue>) => Array<ItemValue>;
        private updateRenderedChoices;
        private getRenderedChoicesAnimationOptions;
        private renderedChoicesAnimation;
        renderedChoices: Array<ItemValue>;
        private headItemsCount;
        private footItemsCount;
        readonly headItems: ItemValue[];
        readonly footItems: ItemValue[];
        readonly dataChoices: ItemValue[];
        readonly bodyItems: ItemValue[];
        readonly hasHeadItems: boolean;
        readonly hasFootItems: boolean;
        readonly columns: any[];
        getItemsColumnKey(itemsColumn: Array<ItemValue>): string;
        readonly hasColumns: boolean;
        readonly rowLayout: boolean;
        readonly blockedRow: boolean;
        choicesLoaded(): void;
        getItemValueWrapperComponentName(item: ItemValue): string;
        getItemValueWrapperComponentData(item: ItemValue): any;
        ariaItemChecked(item: ItemValue): "true" | "false";
        isOtherItem(item: ItemValue): boolean;
        readonly itemSvgIcon: string;
        getSelectBaseRootCss(): string;
        protected allowMobileInDesignMode(): boolean;
        getAriaItemLabel(item: ItemValue): string;
        getItemId(item: ItemValue): string;
        readonly questionName: string;
        getItemEnabled(item: ItemValue): boolean;
        private focusOtherComment;
        onItemSelected(item: ItemValue): void;
        protected getDefaultItemComponent(): string;
        /*
        * The name of a component used to render items.
        *
        * [View Dropdown Demo](https://surveyjs.io/form-library/examples/dropdown-box-with-custom-items/ (linkStyle))
        *
        * [View Ranking Demo](https://surveyjs.io/form-library/examples/ranking-with-custom-items/ (linkStyle))
        */
        itemComponent: string;
    }
    /**
     * A base class for multiple-selection question types that can display choice items in multiple columns ([Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Image Picker](https://surveyjs.io/form-library/documentation/questionimagepickermodel)).
     */
    export class QuestionCheckboxBase extends QuestionSelectBase {
        colCountChangedCallback: () => void;
        constructor(name: string);
        /*
        * Gets or sets the number of columns used to arrange choice items.
        *
        * Set this property to 0 if you want to display all items in one line. The default value depends on the available width.
        * @see separateSpecialChoices
        */
        colCount: number;
        protected onParentChanged(): void;
        protected onParentQuestionChanged(): void;
        protected getSearchableItemValueKeys(keys: Array<string>): void;
    }
}
declare module "packages/survey-core/src/validator" {
    import { Base } from "packages/survey-core/src/base";
    import { ISurveyErrorOwner, ISurvey } from "packages/survey-core/src/base-interfaces";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    export class ValidatorResult {
        value: any;
        error: SurveyError;
        constructor(value: any, error?: SurveyError);
    }
    /**
     * A base class for all classes that implement validators.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
     */
    export class SurveyValidator extends Base {
        errorOwner: ISurveyErrorOwner;
        onAsyncCompleted: (result: ValidatorResult) => void;
        constructor();
        readonly isValidator: boolean;
        getSurvey(live?: boolean): ISurvey;
        /*
        * An error message to display when a value fails validation.
        */
        text: string;
        readonly isValidateAllValues: boolean;
        readonly locText: LocalizableString;
        protected getErrorText(name: string): string;
        protected getDefaultErrorText(name: string): string;
        validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
        readonly isRunning: boolean;
        readonly isAsync: boolean;
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        protected createCustomError(name: string): SurveyError;
        toString(): string;
    }
    export interface IValidatorOwner {
        getValidators(): Array<SurveyValidator>;
        validatedValue: any;
        getValidatorTitle(): string;
        getDataFilteredValues(): any;
        getDataFilteredProperties(): any;
    }
    export class ValidatorRunner {
        private asyncValidators;
        onAsyncCompleted: (errors: Array<SurveyError>) => void;
        run(owner: IValidatorOwner): Array<SurveyError>;
        private prepareAsyncValidators;
    }
    /**
     * A class that implements a validator for numeric values.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
     */
    export class NumericValidator extends SurveyValidator {
        constructor(minValue?: number, maxValue?: number);
        getType(): string;
        validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
        protected getDefaultErrorText(name: string): string;
        /*
        * A minimum allowed numeric value.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        minValue: number;
        /*
        * A maximum allowed numeric value.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        maxValue: number;
    }
    /**
     * A class that implements a validator for text values.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
     */
    export class TextValidator extends SurveyValidator {
        constructor();
        getType(): string;
        validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
        protected getDefaultErrorText(name: string): string;
        /*
        * The minimum length of a text value measured in characters.
        *
        * Default value: 0
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        minLength: number;
        /*
        * The maximum length of a text value measured in characters.
        *
        * Default value: 0 (unlimited)
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        maxLength: number;
        /*
        * Specifies whether a text value can include numerical digits.
        *
        * Default value: `true`
        */
        allowDigits: boolean;
    }
    /**
     * A class that implements answer count validation in the question types that can have multiple values (for instance, [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model)).
     *
     * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
     */
    export class AnswerCountValidator extends SurveyValidator {
        constructor(minCount?: number, maxCount?: number);
        getType(): string;
        validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
        protected getDefaultErrorText(name: string): string;
        /*
        * A minimum number of selected answers.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        minCount: number;
        /*
        * A maximum number of selected answers.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        maxCount: number;
    }
    /**
     * A class that implements validation using regular expressions.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
     */
    export class RegexValidator extends SurveyValidator {
        constructor(regex?: string);
        getType(): string;
        validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
        private hasError;
        /*
        * A regular expression used to validate values.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        regex: string;
        /*
        * Specifies whether uppercase and lowercase letters must be treated as distinct or equivalent when validating values.
        *
        * Default value: `false` (uppercase and lowercase letters are treated as distinct)
        */
        caseInsensitive: boolean;
        insensitive: boolean;
        private createRegExp;
    }
    /**
     * A class that implements a validator for e-mail addresses.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
     */
    export class EmailValidator extends SurveyValidator {
        private re;
        constructor();
        getType(): string;
        validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
        protected getDefaultErrorText(name: string): string;
    }
    /**
     * A class that implements validation using [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions).
     *
     * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
     */
    export class ExpressionValidator extends SurveyValidator {
        private conditionRunner;
        private isRunningValue;
        constructor(expression?: string);
        getType(): string;
        readonly isValidateAllValues: boolean;
        readonly isAsync: boolean;
        readonly isRunning: boolean;
        validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
        protected generateError(res: boolean, value: any, name: string): ValidatorResult;
        protected getDefaultErrorText(name: string): string;
        private ensureConditionRunner;
        /*
        * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `false`, validation fails.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
        */
        expression: string;
    }
}
declare module "packages/survey-core/src/question_expression" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { Question } from "packages/survey-core/src/question";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    /**
     * A class that describes the Expression question type. It is a read-only question type that calculates a value based on a specified expression.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-expression/ (linkStyle))
     */
    export class QuestionExpressionModel extends Question {
        private expressionIsRunning;
        private expressionRunner;
        constructor(name: string);
        getType(): string;
        readonly hasInput: boolean;
        /*
        * A string that formats a question value. Use `{0}` to reference the question value in the format string.
        * @see displayStyle
        */
        format: string;
        readonly locFormat: LocalizableString;
        /*
        * An expression used to calculate the question value.
        *
        * Refer to the following help topic for more information: [Expressions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#expressions).
        */
        expression: string;
        locCalculation(): void;
        unlocCalculation(): void;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected canCollectErrors(): boolean;
        hasRequiredError(): boolean;
        private createRunner;
        /*
        * The maximum number of fraction digits. Applies only if the `displayStyle` property is not `"none"`. Accepts values in the range from -1 to 20, where -1 disables the property.
        *
        * Default value: -1
        * @see displayStyle
        * @see minimumFractionDigits
        * @see precision
        */
        maximumFractionDigits: number;
        /*
        * The minimum number of fraction digits. Applies only if the `displayStyle` property is not `"none"`. Accepts values in the range from -1 to 20, where -1 disables the property.
        *
        * Default value: -1
        * @see displayStyle
        * @see maximumFractionDigits
        */
        minimumFractionDigits: number;
        private runIfReadOnlyValue;
        runIfReadOnly: boolean;
        readonly formatedValue: string;
        protected updateFormatedValue(): void;
        protected onValueChanged(): void;
        updateValueFromSurvey(newValue: any, clearData: boolean): void;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        /*
        * Specifies a display style for the question value.
        *
        * Possible values:
        *
        * - `"decimal"`
        * - `"currency"`
        * - `"percent"`
        * - `"date"`
        * - `"none"` (default)
        *
        * If you use the `"currency"` display style, you can also set the `currency` property to specify a currency other than USD.
        * @see currency
        * @see minimumFractionDigits
        * @see maximumFractionDigits
        * @see format
        */
        displayStyle: string;
        /*
        * A three-letter currency code. Applies only if the `displayStyle` property is set to `"currency"`.
        *
        * Default value: "USD".
        * @see displayStyle
        * @see minimumFractionDigits
        * @see maximumFractionDigits
        * @see format
        */
        currency: string;
        /*
        * Specifies whether to use grouping separators in number representation. Separators depend on the selected [locale](https://surveyjs.io/form-library/documentation/surveymodel#locale).
        *
        * Default value: `true`
        */
        useGrouping: boolean;
        /*
        * Specifies how many decimal digits to keep in the expression value.
        *
        * Default value: -1 (unlimited)
        * @see maximumFractionDigits
        */
        precision: number;
        private roundValue;
        protected getValueAsStr(val: any): string;
    }
    export function getCurrecyCodes(): Array<string>;
}
declare module "packages/survey-core/src/question_matrixdropdowncolumn" {
    import { Question } from "packages/survey-core/src/question";
    import { Base, ArrayChanges } from "packages/survey-core/src/base";
    import { ISurvey, IWrapperObject } from "packages/survey-core/src/base-interfaces";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { SurveyValidator } from "packages/survey-core/src/validator";
    import { MatrixDropdownRowModelBase } from "packages/survey-core/src/question_matrixdropdownbase";
    export interface IMatrixColumnOwner extends ILocalizableOwner {
        getRequiredText(): string;
        hasChoices(): boolean;
        onColumnPropertyChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
        onColumnItemValuePropertyChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
        onShowInMultipleColumnsChanged(column: MatrixDropdownColumn): void;
        onColumnVisibilityChanged(column: MatrixDropdownColumn): void;
        getCellType(): string;
        getCustomCellType(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, cellType: string): string;
        onColumnCellTypeChanged(column: MatrixDropdownColumn): void;
        getCellAriaLabel(rowTitle: string, columnTitle: string): string;
    }
    export var matrixDropdownColumnTypes: any;
    /**
     * An auxiliary class that describes a column in a [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) or [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model).
     *
     * You can get an object of this class from the [`columns`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#columns) array or by calling the [`getColumnByName()`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#getColumnByName) method on a matrix instance.
     */
    export class MatrixDropdownColumn extends Base implements ILocalizableOwner, IWrapperObject {
        static getColumnTypes(): Array<string>;
        private templateQuestionValue;
        private colOwnerValue;
        private indexValue;
        private _hasVisibleCell;
        private _visiblechoices;
        constructor(name: string, title?: string, colOwner?: IMatrixColumnOwner);
        getOriginalObj(): Base;
        getClassNameProperty(): string;
        getSurvey(live?: boolean): ISurvey;
        endLoadingFromJson(): void;
        getDynamicPropertyName(): string;
        getDynamicType(): string;
        colOwner: IMatrixColumnOwner;
        locStrsChanged(): void;
        addUsedLocales(locales: Array<string>): void;
        readonly index: number;
        setIndex(val: number): void;
        getType(): string;
        /*
        * Specifies the type of column cells.
        *
        * Possible values:
        *
        * - [`"dropdown"`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model)
        * - [`"checkbox"`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model)
        * - [`"radiogroup"`](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model)
        * - [`"tagbox"`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model)
        * - [`"text"`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model)
        * - [`"comment"`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model)
        * - [`"boolean"`](https://surveyjs.io/form-library/documentation/api-reference/boolean-question-model)
        * - [`"expression"`](https://surveyjs.io/form-library/documentation/api-reference/expression-model)
        * - [`"rating"`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model)
        * - `"default"` (default) - Inherits the input type from the [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#cellType) property specified for the parent matrix.
        *
        * The input types are based upon standalone question types. Depending on the selected input type, the matrix column can have additional configuration properties inherited from the corresponding question type. For instance, Dropdown, Checkboxes, Radio Button Group, and Tag Box columns can specify the [`choices`](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model#choices) array, similar to the question types upon which they are based. Refer to the API Reference of these question types for a full list of available properties.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
        */
        cellType: string;
        readonly templateQuestion: Question;
        readonly value: string;
        readonly isVisible: boolean;
        readonly isColumnVisible: boolean;
        /*
        * Gets or sets column visibility.
        *
        * If you want to display or hide a column based on a condition, specify the [`visibleIf`](#visibleIf) property.
        * @see isRequired
        * @see readOnly
        */
        visible: boolean;
        hasVisibleCell: boolean;
        isColumnsVisibleIf: boolean;
        getVisibleMultipleChoices(): Array<ItemValue>;
        readonly getVisibleChoicesInCell: Array<any>;
        setVisibleChoicesInCell(val: Array<any>): void;
        readonly isFilteredMultipleColumns: boolean;
        /*
        * A column ID that is not visible to respondents.
        *
        * > Column IDs must be unique.
        * @see title
        */
        name: string;
        /*
        * A user-friendly column caption to display. If `title` is undefined, [`name`](#name) is displayed instead.
        */
        title: string;
        readonly locTitle: LocalizableString;
        readonly fullTitle: string;
        /*
        * Marks the column as required. If a respondent skips any cell in a required column, the matrix displays a [validation error](#requiredErrorText).
        *
        * If you want to mark the column as required based on a condition, specify the [`requiredIf`](#requiredIf) property.
        * @see visible
        * @see readOnly
        */
        isRequired: boolean;
        isRenderedRequired: boolean;
        updateIsRenderedRequired(val: boolean): void;
        readonly requiredText: string;
        /*
        * Specifies a custom error message for a required column.
        * @see isRequired
        */
        requiredErrorText: string;
        readonly locRequiredErrorText: LocalizableString;
        /*
        * Makes the column read-only.
        *
        * If you want to switch the column to the read-only state based on a condition, specify the [`enableIf`](#enableIf) property.
        * @see visible
        * @see isRequired
        */
        readOnly: boolean;
        hasOther: boolean;
        /*
        * A Boolean expression. If it evaluates to `false`, this column becomes hidden.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visible
        */
        visibleIf: string;
        /*
        * A Boolean expression. If it evaluates to `false`, this column becomes read-only.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see readOnly
        */
        enableIf: string;
        /*
        * A Boolean expression. If it evaluates to `true`, this column becomes required.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see isRequired
        */
        requiredIf: string;
        /*
        * A Boolean expression. If it evaluates to `true`, all cells in this column are set to a value calculated using the [`defaultValueExpression`](#defaultValueExpression).
        *
        * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
        * @see setValueIf
        */
        resetValueIf: string;
        /*
        * An expression used to calculate the column's default value. This expression applies to all cells of this column until the cell value is specified by an end user or programmatically.
        *
        * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
        * @see setValueExpression
        */
        defaultValueExpression: string;
        /*
        * A Boolean expression. If it evaluates to `true`, all cells in this column are set to a value calculated using the [`setValueExpression`](#setValueExpression).
        *
        * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
        * @see resetValueIf
        */
        setValueIf: string;
        /*
        * An expression used to calculate a value for all column cells.
        *
        * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated cell value applies only when `setValueIf` evaluates to `true`.
        *
        * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
        * @see defaultValueExpression
        * @see resetValueIf
        */
        setValueExpression: string;
        /*
        * Specifies whether a respondent is required to provide a unique response for each question within this column.
        *
        * Default value: `false`
        */
        isUnique: boolean;
        /*
        * Specifies whether to create an individual column for each choice option. Applies only to columns of `"checkbox"` or `"radiogroup"` [`cellType`](#cellType).
        */
        showInMultipleColumns: boolean;
        readonly isSupportMultipleColumns: boolean;
        readonly isShowInMultipleColumns: boolean;
        /*
        * Column validators.
        *
        * [Data Validation](https://surveyjs.io/form-library/documentation/data-validation (linkStyle))
        * @see isRequired
        */
        validators: Array<SurveyValidator>;
        /*
        * An aggregation method used to calculate the column total.
        *
        * Possible values:
        *
        * - `"none"` (default) - Disables total calculations.
        * - `"sum"`
        * - `"count"`
        * - `"min"`
        * - `"max"`
        * - `"avg"`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
        * @see totalFormat
        * @see totalDisplayStyle
        */
        totalType: string;
        /*
        * An expression used to calculate total values. Overrides the [`totalType`](#totalType) property.
        *
        * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
        */
        totalExpression: string;
        readonly hasTotal: boolean;
        /*
        * A string pattern used to display column totals. To reference a total value within this pattern, use the `{0}` placeholder.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
        * @see totalType
        * @see totalDisplayStyle
        */
        totalFormat: string;
        readonly locTotalFormat: LocalizableString;
        cellHint: string;
        readonly locCellHint: LocalizableString;
        renderAs: string;
        totalMaximumFractionDigits: number;
        totalMinimumFractionDigits: number;
        /*
        * A format for calculated total values.
        *
        * Possible values:
        *
        * - `"none"` (default)
        * - `"decimal"`
        * - `"currency"`
        * - `"percent"`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
        * @see totalType
        * @see totalFormat
        * @see totalCurrency
        */
        totalDisplayStyle: string;
        /*
        * An alignment for calculated total values.
        *
        * Possible values:
        *
        * - `"left"`
        * - `"center"`
        * - `"right"`
        * - `"auto"` (default) - Applies one of the values above based on the column's [cell type](#cellType).
        *
        * [View Demo](https://surveyjs.io/form-library/examples/aggregate-data-within-form/ (linkStyle))
        * @see totalType
        * @see totalFormat
        * @see totalCurrency
        * @see totalDisplayStyle
        */
        totalAlignment: string;
        /*
        * Specifies a currency used to display calculated total values. Applies only if [`totalDisplayStyle`](#totalDisplayStyle) is set to `"currency"`.
        * @see totalType
        */
        totalCurrency: string;
        /*
        * Gets or sets minimum column width in CSS values. By default, the matrix calculates column widths to optimally fit the content of all columns.
        * @see width
        */
        minWidth: string;
        /*
        * Gets or sets column width in CSS values. By default, the matrix calculates column widths to optimally fit the content of all columns.
        * @see minWidth
        */
        width: string;
        /*
        * Gets or sets the number of columns used to arrange choice options. Applies only to columns of `"checkbox"` or `"radiogroup"` [`cellType`](#cellType).
        *
        * Default value: -1 (inherits the actual value from the parent matrix's [`columnColCount`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#columnColCount) property)
        */
        colCount: number;
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        createCellQuestion(row: MatrixDropdownRowModelBase): Question;
        startLoadingFromJson(json?: any): void;
        updateCellQuestion(cellQuestion: Question, data: any, onUpdateJson?: (json: any) => any): void;
        private callOnCellQuestionUpdate;
        defaultCellTypeChanged(): void;
        protected calcCellQuestionType(row: MatrixDropdownRowModelBase): string;
        private getDefaultCellQuestionType;
        protected updateTemplateQuestion(newCellType?: string, name?: string, title?: string): void;
        protected createNewQuestion(cellType: string): Question;
        private setParentQuestionToTemplate;
        private previousChoicesId;
        protected setQuestionProperties(question: Question, onUpdateJson?: (json: any) => any): void;
        protected propertyValueChanged(name: string, oldValue: any, newValue: any, arrayChanges?: ArrayChanges, target?: Base): void;
        private doItemValuePropertyChanged;
        private doShowInMultipleColumnsChanged;
        private doColumnVisibilityChanged;
        private getProperties;
        private removeProperties;
        private addProperties;
    }
}
declare module "packages/survey-core/src/dragdrop/engine" {
    export interface IDragDropEngine {
        dragInit(event: PointerEvent, draggedElement: any, parentElement: any, draggedElementNode: HTMLElement): void;
        dragOver(event: PointerEvent): void;
        drop(): void;
        clear(): void;
    }
}
declare module "packages/survey-core/src/utils/devices" {
    export const IsMobile: boolean;
    export var mouseInfo: {
        readonly isTouch: boolean;
        readonly hasTouchEvent: boolean;
        hasMouse: boolean;
    };
    export let IsTouch: boolean;
    export function _setIsTouch(val: boolean): void;
    export type MatchMediaMethod = ((query: string) => {
        matches: boolean;
    } | null) | null;
    export function detectMouseSupport(matchMedia: MatchMediaMethod): boolean;
}
declare module "packages/survey-core/src/dragdrop/dom-adapter" {
    import { IDragDropEngine } from "packages/survey-core/src/dragdrop/engine";
    export interface IDragDropDOMAdapter {
        startDrag(event: PointerEvent, draggedElement: any, parentElement: any, draggedElementNode: HTMLElement, preventSaveTargetNode: boolean): void;
        draggedElementShortcut: HTMLElement;
        rootContainer: HTMLElement;
        documentOrShadowRoot: Document | ShadowRoot;
        rootElement?: HTMLElement;
    }
    export class DragDropDOMAdapter implements IDragDropDOMAdapter {
        private dd;
        private longTap;
        private fitToContainer;
        static PreventScrolling: boolean;
        private timeoutID;
        private startX;
        private startY;
        private currentX;
        private currentY;
        private savedTargetNode;
        private savedTargetNodeParent;
        private savedTargetNodeIndex;
        private scrollIntervalId;
        constructor(dd: IDragDropEngine, longTap?: boolean, fitToContainer?: boolean);
        readonly documentOrShadowRoot: Document | ShadowRoot;
        readonly rootElement: any;
        private stopLongTapIfMoveEnough;
        private readonly isMicroMovement: any;
        private stopLongTap;
        private startLongTapProcessing;
        private handlePointerCancel;
        private handleEscapeButton;
        private onContextMenu;
        private moveShortcutElement;
        private getShortcutBottomCoordinate;
        private getShortcutRightCoordinate;
        protected requestAnimationFrame(callback: any): number;
        protected scrollByDrag(scrollableParentNode: HTMLElement, clientY: number, clientX: number): void;
        private doScroll;
        private dragOver;
        private clear;
        private drop;
        private doStartDrag;
        private returnUserSelectBack;
        draggedElementShortcut: any;
        rootContainer: HTMLElement;
        startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
        private getNodeIndexInParent;
        private insertNodeToParentAtIndex;
    }
}
declare module "packages/survey-core/src/dragdrop/core" {
    import { SurveyModel } from "packages/survey-core/src/survey";
    import { EventBase } from "packages/survey-core/src/base";
    import { IShortcutText, ISurvey } from "packages/survey-core/src/base-interfaces";
    import { IDragDropEngine } from "packages/survey-core/src/dragdrop/engine";
    import { IDragDropDOMAdapter } from "packages/survey-core/src/dragdrop/dom-adapter";
    export abstract class DragDropCore<T> implements IDragDropEngine {
        private surveyValue?;
        private creator?;
        private _isBottom;
        isBottom: boolean;
        onGhostPositionChanged: EventBase<{}>;
        protected ghostPositionChanged(): void;
        onDragStart: EventBase<DragDropCore<T>>;
        onDragEnd: EventBase<DragDropCore<T>>;
        onDragClear: EventBase<DragDropCore<T>>;
        onBeforeDrop: EventBase<DragDropCore<T>, any>;
        onAfterDrop: EventBase<DragDropCore<T>, any>;
        draggedElement: any;
        protected abstract readonly draggedElementType: string;
        protected parentElement: T;
        dropTarget: any;
        protected readonly dropTargetDataAttributeName: string;
        protected readonly survey: SurveyModel;
        prevDropTarget: any;
        protected allowDropHere: boolean;
        protected domAdapter: IDragDropDOMAdapter;
        constructor(surveyValue?: ISurvey, creator?: any, longTap?: boolean, domAdapter?: IDragDropDOMAdapter);
        startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
        private getRootElement;
        dragInit(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement): void;
        protected onStartDrag(event?: PointerEvent): void;
        protected isDropTargetDoesntChanged(newIsBottom: boolean): boolean;
        protected getShortcutText(draggedElement: IShortcutText): string;
        protected createDraggedElementShortcut(text: string, draggedElementNode?: HTMLElement, event?: PointerEvent): HTMLElement;
        protected getDraggedElementClass(): string;
        protected doDragOver(): void;
        protected afterDragOver(dropTargetNode: HTMLElement): void;
        protected abstract isDropTargetValid(dropTarget: any, dropTargetNode?: HTMLElement): boolean;
        protected banDropHere: () => void;
        protected doBanDropHere: () => void;
        protected findDropTargetNodeFromPoint(clientX: number, clientY: number): HTMLElement;
        protected getDataAttributeValueByNode(node: HTMLElement): string;
        protected getDropTargetByNode(dropTargetNode: HTMLElement, event: PointerEvent): any;
        private capitalizeFirstLetter;
        protected abstract getDropTargetByDataAttributeValue(dataAttributeValue: string, dropTargetNode?: HTMLElement, event?: PointerEvent): any;
        protected calculateVerticalMiddleOfHTMLElement(HTMLElement: HTMLElement): number;
        protected calculateHorizontalMiddleOfHTMLElement(HTMLElement: HTMLElement): number;
        protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
        protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
        dragOver(event: PointerEvent): void;
        protected abstract doDrop(): any;
        drop(): void;
        clear(): void;
    }
}
declare module "packages/survey-core/src/dragdrop/matrix-rows" {
    import { MatrixDropdownRowModelBase } from "packages/survey-core/src/question_matrixdropdownbase";
    import { QuestionMatrixDynamicModel, MatrixDynamicRowModel } from "packages/survey-core/src/question_matrixdynamic";
    import { DragDropCore } from "packages/survey-core/src/dragdrop/core";
    export class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynamicModel> {
        protected readonly draggedElementType: string;
        protected restoreUserSelectValue: string;
        protected onStartDrag(): void;
        private readonly shortcutClass: any;
        protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
        private fromIndex;
        private toIndex;
        protected getDropTargetByDataAttributeValue(dataAttributeValue: any): MatrixDropdownRowModelBase;
        canInsertIntoThisRow(row: MatrixDynamicRowModel): boolean;
        protected isDropTargetValid(dropTarget: any, dropTargetNode?: HTMLElement): boolean;
        protected calculateIsBottom(clientY: number): boolean;
        protected afterDragOver(dropTargetNode: HTMLElement): void;
        protected doDrop: () => QuestionMatrixDynamicModel;
        clear(): void;
    }
}
declare module "packages/survey-core/src/question_matrixdropdownrendered" {
    import { Question } from "packages/survey-core/src/question";
    import { Base } from "packages/survey-core/src/base";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { IAction } from "packages/survey-core/src/actions/action";
    import { MatrixDropdownColumn } from "packages/survey-core/src/question_matrixdropdowncolumn";
    import { MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from "packages/survey-core/src/question_matrixdropdownbase";
    export class QuestionMatrixDropdownRenderedCell {
        private static counter;
        private idValue;
        private itemValue;
        minWidth: string;
        width: string;
        locTitle: LocalizableString;
        cell: MatrixDropdownCell;
        column: MatrixDropdownColumn;
        row: MatrixDropdownRowModelBase;
        question: Question;
        isRemoveRow: boolean;
        choiceIndex: number;
        isOtherChoice: boolean;
        matrix: QuestionMatrixDropdownModelBase;
        isEmpty: boolean;
        colSpans: number;
        panel: PanelModel;
        isShowHideDetail: boolean;
        isActionsCell: boolean;
        isErrorsCell: boolean;
        isDragHandlerCell: boolean;
        isDetailRowCell: boolean;
        private classNameValue;
        constructor();
        readonly requiredText: string;
        readonly hasQuestion: boolean;
        readonly hasTitle: boolean;
        readonly hasPanel: boolean;
        readonly id: string;
        item: ItemValue;
        readonly isChoice: boolean;
        readonly isItemChoice: boolean;
        readonly choiceValue: any;
        readonly isCheckbox: boolean;
        readonly isRadio: boolean;
        readonly isFirstChoice: boolean;
        className: string;
        readonly cellQuestionWrapperClassName: string;
        readonly isVisible: boolean;
        readonly showResponsiveTitle: boolean;
        readonly responsiveTitleCss: string;
        readonly responsiveLocTitle: LocalizableString;
        readonly headers: string;
        getTitle(): string;
        calculateFinalClassName(matrixCssClasses: any): string;
        focusIn(): void;
    }
    export class QuestionMatrixDropdownRenderedRow extends Base {
        cssClasses: any;
        isDetailRow: boolean;
        isGhostRow: boolean;
        isAdditionalClasses: boolean;
        visible: boolean;
        onVisibilityChangedCallback: () => void;
        hasEndActions: boolean;
        row: MatrixDropdownRowModelBase;
        isErrorsRow: boolean;
        private static counter;
        private idValue;
        cells: Array<QuestionMatrixDropdownRenderedCell>;
        constructor(cssClasses: any, isDetailRow?: boolean);
        readonly id: string;
        readonly attributes: {
            "data-sv-drop-target-matrix-row"?: undefined;
        } | {
            "data-sv-drop-target-matrix-row": string;
        };
        readonly className: string;
        private rootElement;
        setRootElement(val: HTMLTableRowElement): void;
        getRootElement(): HTMLTableRowElement;
        focusCell(cellIndex: number): void;
    }
    export class QuestionMatrixDropdownRenderedErrorRow extends QuestionMatrixDropdownRenderedRow {
        isErrorsRow: boolean;
        constructor(cssClasses: any);
        readonly attributes: {};
        readonly className: string;
        onAfterCreated(): void;
    }
    export class QuestionMatrixDropdownRenderedTable extends Base {
        matrix: QuestionMatrixDropdownModelBase;
        private headerRowValue;
        private footerRowValue;
        private hasRemoveRowsValue;
        private rowsActions;
        private cssClasses;
        rows: Array<QuestionMatrixDropdownRenderedRow>;
        protected getIsAnimationAllowed(): boolean;
        private getRenderedRowsAnimationOptions;
        private _renderedRows;
        updateRenderedRows(): void;
        private renderedRowsAnimation;
        renderedRows: Array<QuestionMatrixDropdownRenderedRow>;
        constructor(matrix: QuestionMatrixDropdownModelBase);
        readonly showTable: boolean;
        readonly showHeader: boolean;
        readonly showAddRow: boolean;
        readonly showAddRowOnTop: boolean;
        readonly showAddRowOnBottom: boolean;
        readonly showFooter: boolean;
        readonly hasFooter: boolean;
        readonly hasRemoveRows: boolean;
        private isRequireResetValue;
        isRequireReset(): boolean;
        requireReset(): void;
        readonly headerRow: QuestionMatrixDropdownRenderedRow;
        readonly footerRow: QuestionMatrixDropdownRenderedRow;
        readonly isRowsDragAndDrop: boolean;
        private readonly showCellErrorsTop: any;
        private readonly showCellErrorsBottom: any;
        protected build(): void;
        updateShowTableAndAddRow(): void;
        onAddedRow(row: MatrixDropdownRowModelBase, index: number): void;
        private getRenderedRowIndexByIndex;
        private getRenderedDataRowCount;
        onRemovedRow(row: MatrixDropdownRowModelBase): void;
        onDetailPanelChangeVisibility(row: MatrixDropdownRowModelBase, isShowing: boolean): void;
        focusActionCell(row: MatrixDropdownRowModelBase, actionCellIndex: number): void;
        private getRenderedRowIndex;
        protected buildRowsActions(): void;
        protected createRenderedRow(cssClasses: any, isDetailRow?: boolean): QuestionMatrixDropdownRenderedRow;
        protected createErrorRenderedRow(cssClasses: any): QuestionMatrixDropdownRenderedErrorRow;
        protected buildHeader(): void;
        protected buildFooter(): void;
        protected buildRows(): void;
        private hasActionCellInRowsValues;
        private hasActionCellInRows;
        private hasActionsCellInLocaltion;
        private canRemoveRow;
        private buildHorizontalRows;
        private addHorizontalRow;
        private getRowDragCell;
        private getActionsCellClassName;
        private getRowActionsCell;
        private getRowActions;
        private buildRowActions;
        private readonly showRemoveButtonAsIcon: any;
        protected setDefaultRowActions(row: MatrixDropdownRowModelBase, actions: Array<IAction>): void;
        private createErrorRow;
        private createHorizontalRow;
        private addRowActionsCell;
        private createDetailPanelRow;
        private buildVerticalRows;
        private createMutlipleVerticalRows;
        private createVerticalRow;
        private createEndVerticalActionRow;
        private createMutlipleEditCells;
        private setItemCellCssClasses;
        private createEditCell;
        private createErrorCell;
        private createMutlipleColumnsFooter;
        private createMutlipleColumnsHeader;
        private getMultipleColumnChoices;
        private setHeaderCellCssClasses;
        private createHeaderCell;
        private setHeaderCell;
        private setCellWidth;
        private createTextCell;
        private createEmptyCell;
    }
}
declare module "packages/survey-core/src/utils/dragOrClickHelper" {
    export class DragOrClickHelper {
        private dragHandler;
        private pointerDownEvent;
        private currentTarget;
        private startX;
        private startY;
        private currentX;
        private currentY;
        private itemModel;
        constructor(dragHandler: any);
        onPointerDown(pointerDownEvent: any, itemModel?: any): void;
        private onPointerUp;
        private tryToStartDrag;
        private readonly isMicroMovement: any;
        private clearListeners;
    }
}
declare module "packages/survey-core/src/question_matrixdynamic" {
    import { QuestionMatrixDropdownModelBase, MatrixDropdownRowModelBase, IMatrixDropdownData } from "packages/survey-core/src/question_matrixdropdownbase";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { DragDropMatrixRows } from "packages/survey-core/src/dragdrop/matrix-rows";
    import { IShortcutText, ISurveyImpl, IProgressInfo } from "packages/survey-core/src/base-interfaces";
    import { QuestionMatrixDropdownRenderedTable } from "packages/survey-core/src/question_matrixdropdownrendered";
    export class MatrixDynamicRowModel extends MatrixDropdownRowModelBase implements IShortcutText {
        index: number;
        private dragOrClickHelper;
        constructor(index: number, data: IMatrixDropdownData, value: any);
        protected getRowIndex(): number;
        readonly rowName: string;
        readonly dataName: string;
        readonly text: any;
        getAccessbilityText(): string;
        readonly shortcutText: string;
    }
    /**
      * A class that describes the Dynamic Matrix question type.
      *
      * Dynamic Matrix allows respondents to add and delete matrix rows. You can use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
      *
      * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/ (linkStyle))
      */
    export class QuestionMatrixDynamicModel extends QuestionMatrixDropdownModelBase implements IMatrixDropdownData {
        onGetValueForNewRowCallBack: (sender: QuestionMatrixDynamicModel) => any;
        private rowCounter;
        private initialRowCount;
        private setRowCountValueFromData;
        constructor(name: string);
        dragDropMatrixRows: DragDropMatrixRows;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        private draggedRow;
        private isBanStartDrag;
        isDragHandleAreaValid(node: HTMLElement): boolean;
        onPointerDown(pointerDownEvent: PointerEvent, row: MatrixDropdownRowModelBase): void;
        startDragMatrixRow: (event: PointerEvent, currentTarget: HTMLElement) => void;
        getType(): string;
        readonly isRowsDynamic: boolean;
        /*
        * Specifies whether to display a confirmation dialog when a respondent wants to delete a row.
        *
        * Default value: `false`
        * @see confirmDeleteText
        */
        confirmDelete: boolean;
        readonly isValueArray: boolean;
        /*
        * Specifies a key column. Set this property to a column name, and the question will display `keyDuplicationError` if a user tries to enter a duplicate value in this column.
        * @see keyDuplicationError
        */
        keyName: string;
        /*
        * If it is not empty, then this value is set to every new row, including rows created initially, unless the defaultValue is not empty
        * @see defaultValue
        * @see defaultValueFromLastRow
        */
        defaultRowValue: any;
        /*
        * Specifies whether default values for a new row/column should be copied from the last row/column.
        *
        * If you also specify `defaultValue`, it will be merged with the copied values.
        * @see defaultValue
        */
        defaultValueFromLastRow: boolean;
        protected isDefaultValueEmpty(): boolean;
        protected valueFromData(val: any): any;
        protected correctValueForMinMaxRows(val: any): any;
        protected isNewValueCorrect(val: any): boolean;
        protected setDefaultValue(): void;
        moveRowByIndex(fromIndex: number, toIndex: number): void;
        clearOnDrop(): void;
        initDataUI(): void;
        /*
        * The number of rows in the matrix.
        * @see minRowCount
        * @see maxRowCount
        */
        rowCount: number;
        protected updateBindingProp(propName: string, value: any): void;
        protected updateProgressInfoByValues(res: IProgressInfo): void;
        private getValueForNewRow;
        /*
        * Specifies whether users can drag and drop matrix rows to reorder them. Applies only if [`transposeData`](#transposeData) is `false`.
        *
        * Default value: `false`
        */
        allowRowsDragAndDrop: boolean;
        readonly isRowsDragAndDrop: boolean;
        lockedRowCount: number;
        readonly iconDragElement: string;
        protected createRenderedTable(): QuestionMatrixDropdownRenderedTable;
        private rowCountValue: any;
        /*
        * A minimum number of rows in the matrix. Users cannot delete rows if `rowCount` equals `minRowCount`.
        *
        * Default value: 0
        * @see rowCount
        * @see maxRowCount
        * @see allowRemoveRows
        */
        minRowCount: number;
        private onMinRowCountChanged;
        /*
        * A maximum number of rows in the matrix. Users cannot add new rows if `rowCount` equals `maxRowCount`.
        *
        * Default value: 1000 (inherited from [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/settings#matrixMaximumRowCount))
        * @see rowCount
        * @see minRowCount
        * @see allowAddRows
        */
        maxRowCount: number;
        private onMaxRowCountChanged;
        /*
        * Specifies whether users are allowed to add new rows.
        *
        * Default value: `true`
        * @see canAddRow
        * @see allowRemoveRows
        */
        allowAddRows: boolean;
        /*
        * Specifies whether users are allowed to delete rows.
        *
        * Default value: `true`
        * @see canRemoveRows
        * @see allowAddRows
        */
        allowRemoveRows: boolean;
        /*
        * Indicates whether it is possible to add a new row.
        *
        * This property returns `true` when all of the following conditions apply:
        *
        * - Users are allowed to add new rows (`allowAddRows` is `true`).
        * - The question, its parent panel, or survey is not in read-only state.
        * - `rowCount` is less than `maxRowCount`.
        * @see allowAddRows
        * @see isReadOnly
        * @see rowCount
        * @see maxRowCount
        * @see canRemoveRows
        */
        readonly canAddRow: boolean;
        canRemoveRowsCallback: (allow: boolean) => boolean;
        /*
        * Indicates whether it is possible to delete rows.
        *
        * This property returns `true` when all of the following conditions apply:
        *
        * - Users are allowed to delete rows (`allowRemoveRows` is `true`).
        * - The question, its parent panel, or survey is not in read-only state.
        * - `rowCount` exceeds `minRowCount`.
        * @see allowRemoveRows
        * @see isReadOnly
        * @see rowCount
        * @see minRowCount
        * @see canAddRow
        */
        readonly canRemoveRows: boolean;
        canRemoveRow(row: MatrixDropdownRowModelBase): boolean;
        addRowUI(): void;
        private getQuestionToFocusOnAddingRow;
        /**
         * Creates and adds a new row to the matrix.
         * @param setFocus *(Optional)* Pass `true` to focus the cell in the first column.
         */
        addRow(setFocus?: boolean): void;
        /*
        * Specifies whether to expand the detail section immediately when a respondent adds a new row.
        * @see detailPanelMode
        */
        detailPanelShowOnAdding: boolean;
        protected hasRowsAsItems(): boolean;
        unbindValue(): void;
        protected isValueSurveyElement(val: any): boolean;
        private addRowCore;
        private getDefaultRowValue;
        focusAddBUtton(): void;
        getActionCellIndex(row: MatrixDropdownRowModelBase): number;
        removeRowUI(value: any): void;
        isRequireConfirmOnRowDelete(index: number): boolean;
        /**
         * Removes a matrix row with a specified index.
         * @param index A zero-based row index.
         * @param confirmDelete *(Optional)* A Boolean value that specifies whether to display a confirmation dialog. If you do not specify this parameter, the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#confirmDelete) property value is used.
         */
        removeRow(index: number, confirmDelete?: boolean, onRowRemoved?: () => void): void;
        private removeRowAsync;
        private removeRowCore;
        /*
        * A message displayed in a confirmation dialog that appears when a respondent wants to delete a row.
        * @see confirmDelete
        */
        confirmDeleteText: string;
        readonly locConfirmDeleteText: import("src/entries/core-wo-model").LocalizableString;
        /*
        * A caption for the Add Row button.
        * @see addRowLocation
        */
        addRowText: string;
        readonly locAddRowText: import("src/entries/core-wo-model").LocalizableString;
        private readonly defaultAddRowText: any;
        /*
        * Specifies the location of the Add Row button.
        *
        * Possible values:
        *
        * - `"top"` - Displays the Add Row button at the top of the matrix.
        * - `"bottom"` - Displays the Add Row button at the bottom of the matrix.
        * - `"topBottom"` - Displays the Add Row button at the top and bottom of the matrix.
        *
        * Default value: `"top"` if [`transposeData`](#transposeData) is `true`; `"bottom"` if `transposeData` is `false` or the matrix is in compact mode.
        * @see addRowText
        */
        addRowLocation: string;
        getAddRowLocation(): string;
        /*
        * Specifies whether to hide columns when the matrix does not contain any rows. If you enable this property, the matrix displays the `emptyRowsText` message and the Add Row button.
        *
        * Default value: `false`
        * @see emptyRowsText
        */
        hideColumnsIfEmpty: boolean;
        getShowColumnsIfEmpty(): boolean;
        /*
        * Use this property to change the default value of remove row button text.
        */
        removeRowText: string;
        readonly locRemoveRowText: import("src/entries/core-wo-model").LocalizableString;
        /*
        * A message displayed when the matrix does not contain any rows. Applies only if `hideColumnsIfEmpty` is enabled.
        * @see hideColumnsIfEmpty
        */
        emptyRowsText: string;
        readonly locEmptyRowsText: import("src/entries/core-wo-model").LocalizableString;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        protected getConditionObjectRowName(index: number): string;
        protected getConditionObjectsRowIndeces(): Array<number>;
        supportGoNextPageAutomatic(): boolean;
        readonly hasRowText: boolean;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        private hasErrorInMinRows;
        protected getUniqueColumnsNames(): Array<string>;
        protected generateRows(): Array<MatrixDynamicRowModel>;
        protected createMatrixRow(value: any): MatrixDynamicRowModel;
        private lastDeletedRow;
        private getInsertedDeletedIndex;
        private isEditingObjectValueChanged;
        updateValueFromSurvey(newValue: any, clearData?: boolean): void;
        protected getFilteredDataCore(): any;
        protected onBeforeValueChanged(val: any): void;
        protected createNewValue(): any;
        protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
        private getRowValueByIndex;
        protected getRowValueCore(row: MatrixDropdownRowModelBase, questionValue: any, create?: boolean): any;
        getAddRowButtonCss(isEmptySection?: boolean): string;
        getRemoveRowButtonCss(): string;
        getRootCss(): string;
    }
}
declare module "packages/survey-core/src/themes" {
    import { HorizontalAlignment, VerticalAlignment } from "packages/survey-core/src/base-interfaces";
    export type ImageFit = "auto" | "contain" | "cover";
    export type ImageAttachment = "fixed" | "scroll";
    /**
     * A theme configuration interface.
     *
     * `ITheme` objects are used to apply predefined themes or create custom themes. Refer to the following help topic for more information:
     *
     * [Themes & Styles](https://surveyjs.io/form-library/documentation/manage-default-themes-and-styles (linkStyle))
     */
    export interface ITheme {
        /**
         * A theme name.
         */
        themeName?: string;
        /**
         * A color palette.
         *
         * Possible values:
         *
         * - `"light"`
         * - `"dark"`
         */
        colorPalette?: string;
        /**
         * A Boolean value that specifies whether survey questions are displayed within panels (`false`) or without them (`true`).
         */
        isPanelless?: boolean;
        /**
         * An image to display as survey background. This property accepts a hyperlink or a data URL.
         */
        backgroundImage?: string;
        /**
         * A string value that specifies how to resize the [background image](#backgroundImage) to fit it into its container.
         *
         * Possible values:
         *
         * - `"auto"`
         * - `"contain"`
         * - `"cover"`
         *
         * Refer to the description of the [`background-size`](https://developer.mozilla.org/en-US/docs/Web/CSS/background-size#values) CSS property values on MDN for detailed information on the possible values.
         */
        backgroundImageFit?: ImageFit;
        /**
         * A string value that specifies whether the [background image](#backgroundImage) is fixed in its position or scrolled along with the survey.
         *
         * Possible values:
         *
         * - `"fixed"`
         * - `"scroll"`
         */
        backgroundImageAttachment?: ImageAttachment;
        /**
         * A value from 0 to 1 that specifies how transparent the [background image](#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
         */
        backgroundOpacity?: number;
        /**
         * An object with [advanced survey header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader). Applies when the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property is set to `"advanced"`.
         */
        header?: IHeader;
        /**
         * Specifies whether the survey header uses only basic appearance settings or applies advanced settings from the survey theme.
         *
         * Possible values:
         *
         * - `"basic"` (default)\
         * A basic header view applies only the [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title), [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description), and logo-related properties ([`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo), [`logoPosition`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logoPosition), etc.).
         *
         * - `"advanced"`\
         * An advanced header view applies the same properties as the basic view, plus [header settings](https://surveyjs.io/form-library/documentation/api-reference/iheader) from the [survey theme](https://surveyjs.io/form-library/documentation/api-reference/itheme#header). The advanced view features a more flexible header layout, a capability to specify a background image, and other settings that give a more professional look to the survey header.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
         */
        headerView?: "advanced" | "basic";
        /**
         * An object with CSS variables.
         */
        cssVariables?: {
            [index: string]: string;
        };
    }
    /**
     * A survey header configuration interface.
     *
     * An `IHeader` object configures advanced survey header appearance settings. To apply them, you need to assign the object to the [`header`](https://surveyjs.io/form-library/documentation/api-reference/itheme#header) property of your theme configuration and set the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property to `"advanced"`.
     */
    export interface IHeader {
        /**
         * The height of the survey header in pixels.
         *
         * Default value: 256
         */
        height?: number;
        /**
         * The height of the survey header on smartphones, measured in pixels.
         *
         * Default value: 0 (the height is calculated automatically to accommodate the header's content).
         */
        mobileHeight?: number;
        /**
         * A string value that specifies whether the header spans the width of the survey or that of the survey container.
         *
         * Possible values:
         *
         * - `"survey"`\
         * The header width is the same as the survey width.
         * - `"container"` (default)\
         * The header width is the same as the survey container width.
         *
         * @see [SurveyModel.width](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#width)
         * @see [SurveyModel.widthMode](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#widthMode)
         */
        inheritWidthFrom?: "survey" | "container";
        /**
         * The width of the header area that contains the survey [title](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) and [description](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description), measured in pixels.
         *
         * Default value: 512
         */
        textAreaWidth?: number;
        /**
         * A Boolean value that specifies whether the header overlaps the survey content.
         *
         * Default value: `false`
         */
        overlapEnabled?: boolean;
        /**
         * An image to display in the background of the header. Accepts a base64 or URL string value.
         */
        backgroundImage?: string;
        /**
         * A value from 0 to 1 that specifies how transparent the [background image](#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
         */
        backgroundImageOpacity?: number;
        /**
         * A string value that specifies how to resize a [background image](#backgroundImage) to fit it into the header.
         *
         * Possible values:
         *
         * - `"cover"` (default)\
         * Scales the image to the smallest possible size that fills the header. The image preserves its aspect ratio but can be cropped if the header's proportions differ from that of the element.
         * - `"fill"`\
         * Stretches the image to fill the entire header.
         * - `"contain"`\
         * Scales the image to the largest possible size without cropping or stretching it.
         * - `"tile"`\
         * Tiles as many copies of the image as needed to fill the entire header.
         */
        backgroundImageFit?: "cover" | "fill" | "contain" | "tile";
        /**
         * A string value that specifies the logo position within the header in the horizontal direction.
         *
         * Possible values:
         *
         * - `"right"` (default)
         * - `"left"`
         * - `"center"`
         *
         * To specify a logo, set `SurveyModel`'s [`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo) property.
         */
        logoPositionX?: HorizontalAlignment;
        /**
         * A string value that specifies the logo position within the header in the vertical direction.
         *
         * Possible values:
         *
         * - `"top"` (default)
         * - `"bottom"`
         * - `"middle"`
         *
         * To specify a logo, set `SurveyModel`'s [`logo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#logo) property.
         */
        logoPositionY?: VerticalAlignment;
        /**
         * A string value that specifies the survey title position within the header in the horizontal direction.
         *
         * Possible values:
         *
         * - `"left"` (default)
         * - `"right"`
         * - `"center"`
         *
         * To specify a survey title, set `SurveyModel`'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.
         */
        titlePositionX?: HorizontalAlignment;
        /**
         * A string value that specifies the survey title position within the header in the vertical direction.
         *
         * Possible values:
         *
         * - `"bottom"` (default)
         * - `"top"`
         * - `"middle"`
         *
         * To specify a survey title, set `SurveyModel`'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.
         */
        titlePositionY?: VerticalAlignment;
        /**
         * A string value that specifies the survey description position within the header in the horizontal direction.
         *
         * Possible values:
         *
         * - `"left"` (default)
         * - `"right"`
         * - `"center"`
         *
         * To specify a survey description, set `SurveyModel`'s [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description) property.
         */
        descriptionPositionX?: HorizontalAlignment;
        /**
         * A string value that specifies the survey description position within the header in the vertical direction.
         *
         * Possible values:
         *
         * - `"bottom"` (default)
         * - `"top"`
         * - `"middle"`
         *
         * To specify a survey description, set `SurveyModel`'s [`description`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#description) property.
         */
        descriptionPositionY?: VerticalAlignment;
    }
}
declare module "packages/survey-core/src/question_paneldynamic" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { IElement, IQuestion, IPanel, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { Base } from "packages/survey-core/src/base";
    import { Question, IConditionObject, IQuestionPlainData } from "packages/survey-core/src/question";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    import { Action, IAction } from "packages/survey-core/src/actions/action";
    import { AdaptiveActionContainer } from "packages/survey-core/src/actions/adaptive-container";
    import { ITheme } from "packages/survey-core/src/themes";
    import { AnimationProperty, IAnimationGroupConsumer } from "packages/survey-core/src/utils/animation";
    export interface IQuestionPanelDynamicData {
        getItemIndex(item: ISurveyData): number;
        getVisibleItemIndex(item: ISurveyData): number;
        getPanelItemData(item: ISurveyData): any;
        setPanelItemData(item: ISurveyData, name: string, val: any): any;
        getSharedQuestionFromArray(name: string, panelIndex: number): Question;
        getSurvey(): ISurvey;
        getRootData(): ISurveyData;
    }
    interface IPanelDynamicTabbedMenuItem extends IAction {
        panelId: string;
    }
    class PanelDynamicTabbedMenuItem extends Action {
        panelId: string;
        constructor(innerItem: IPanelDynamicTabbedMenuItem);
    }
    export class QuestionPanelDynamicItem implements ISurveyData, ISurveyImpl {
        static ItemVariableName: string;
        static ParentItemVariableName: string;
        static IndexVariableName: string;
        static VisibleIndexVariableName: string;
        private panelValue;
        private data;
        private textPreProcessor;
        constructor(data: IQuestionPanelDynamicData, panel: PanelModel);
        readonly panel: PanelModel;
        setSurveyImpl(): void;
        getValue(name: string): any;
        setValue(name: string, newValue: any): void;
        getVariable(name: string): any;
        setVariable(name: string, newValue: any): void;
        getComment(name: string): string;
        setComment(name: string, newValue: string, locNotification: any): void;
        findQuestionByName(name: string): IQuestion;
        getEditingSurveyElement(): Base;
        getAllValues(): any;
        getFilteredValues(): any;
        getFilteredProperties(): any;
        getSurveyData(): ISurveyData;
        getSurvey(): ISurvey;
        getTextProcessor(): ITextProcessor;
    }
    export class QuestionPanelDynamicTemplateSurveyImpl implements ISurveyImpl {
        data: IQuestionPanelDynamicData;
        constructor(data: IQuestionPanelDynamicData);
        getSurveyData(): ISurveyData;
        getSurvey(): ISurvey;
        getTextProcessor(): ITextProcessor;
    }
    /**
      * A class that describes the Dynamic Panel question type.
      *
      * Dynamic Panel allows respondents to add panels based on a panel template and delete them. Specify the [`templateElements`](https://surveyjs.io/form-library/documentation/questionpaneldynamicmodel#templateElements) property to configure panel template elements.
      *
      * [View Demo](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/ (linkStyle))
      */
    export class QuestionPanelDynamicModel extends Question implements IQuestionPanelDynamicData {
        private templateValue;
        private isValueChangingInternally;
        private changingValueQuestion;
        renderModeChangedCallback: () => void;
        panelCountChangedCallback: () => void;
        currentIndexChangedCallback: () => void;
        constructor(name: string);
        readonly isCompositeQuestion: boolean;
        readonly hasSingleInput: boolean;
        readonly isContainer: boolean;
        getFirstQuestionToFocus(withError: boolean): Question;
        protected getFirstInputElementId(): string;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        private assignOnPropertyChangedToTemplate;
        private addOnPropertyChangedCallback;
        private onTemplateElementPropertyChanged;
        private readonly useTemplatePanel: any;
        getType(): string;
        clearOnDeletingContainer(): void;
        readonly isAllowTitleLeft: boolean;
        removeElement(element: IElement): boolean;
        /*
        * A `PanelModel` object used as a template to create dynamic panels.
        * @see PanelModel
        * @see templateElements
        * @see templateTitle
        * @see panels
        * @see panelCount
        */
        readonly template: PanelModel;
        getPanel(): IPanel;
        /*
        * An array of questions and panels included in a panel template.
        * @see template
        * @see panels
        * @see panelCount
        */
        readonly templateElements: Array<IElement>;
        /*
        * A template for panel titles.
        *
        * The template can contain the following placeholders:
        *
        * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
        * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
        * @see template
        * @see templateDescription
        * @see templateElements
        * @see panels
        * @see panelCount
        */
        templateTitle: string;
        readonly locTemplateTitle: LocalizableString;
        /*
        * A template for tab titles. Applies when [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"tab"`.
        *
        * The template can contain the following placeholders:
        *
        * - `{panelIndex}` - A panel index within the collection of all panels. Starts with 1.
        * - `{visiblePanelIndex}` - A panel index within the collection of visible panels. Starts with 1.
        *
        * If you want to customize individual tab titles, handle `SurveyModel`'s [`onGetDynamicPanelTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetDynamicPanelTabTitle) event.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
        * @see templateTitle
        * @see tabTitlePlaceholder
        * @see displayMode
        */
        templateTabTitle: string;
        readonly locTemplateTabTitle: LocalizableString;
        /*
        * A placeholder for tab titles that applies when the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) expression doesn't produce a meaningful value.
        *
        * Default value: `"New Panel"` (taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization))
        */
        tabTitlePlaceholder: string;
        readonly locTabTitlePlaceholder: LocalizableString;
        /*
        * A template for panel descriptions.
        * @see template
        * @see templateTitle
        * @see templateElements
        * @see panels
        * @see panelCount
        */
        templateDescription: string;
        readonly locTemplateDescription: LocalizableString;
        /*
        * A Boolean expression that is evaluated against each panel. If the expression evaluates to `false`, the panel becomes hidden.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Use the `{panel}` placeholder to reference the current panel in the expression.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility).
        * @see visibleIf
        * @see visiblePanels
        */
        templateVisibleIf: string;
        protected readonly items: Array<ISurveyData>;
        /*
        * An array of `PanelModel` objects created based on a panel template.
        * @see PanelModel
        * @see template
        * @see panelCount
        */
        readonly panels: Array<PanelModel>;
        /*
        * An array of currently visible panels ([`PanelModel`](https://surveyjs.io/form-library/documentation/api-reference/panel-model) objects).
        * @see templateVisibleIf
        */
        readonly visiblePanels: Array<PanelModel>;
        protected readonly panelsCore: Array<PanelModel>;
        protected readonly visiblePanelsCore: Array<PanelModel>;
        private onPanelAdded;
        private onPanelRemoved;
        private onPanelRemovedCore;
        /*
        * A zero-based index of the currently displayed panel.
        *
        * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains -1.
        * @see currentPanel
        * @see panels
        * @see panelCount
        * @see displayMode
        */
        currentIndex: number;
        /*
        * A `PanelModel` object that is the currently displayed panel.
        *
        * When `displayMode` is `"list"` or Dynamic Panel is empty (`panelCount` is 0), this property contains `null`.
        * @see currentIndex
        * @see panels
        * @see panelCount
        * @see displayMode
        */
        currentPanel: PanelModel;
        private _renderedPanels;
        private updateRenderedPanels;
        renderedPanels: Array<PanelModel>;
        private isPanelsAnimationRunning;
        private getPanelsAnimationOptions;
        private _panelsAnimations;
        private disablePanelsAnimations;
        private enablePanelsAnimations;
        private updatePanelsAnimation;
        readonly panelsAnimation: AnimationProperty<Array<PanelModel>, IAnimationGroupConsumer<PanelModel>>;
        onHidingContent(): void;
        /*
        * Specifies whether to display a confirmation dialog when a respondent wants to delete a panel.
        * @see confirmDeleteText
        */
        confirmDelete: boolean;
        /*
        * Specifies a key question. Set this property to the name of a question used in the template, and Dynamic Panel will display `keyDuplicationError` if a user tries to enter a duplicate value in this question.
        * @see keyDuplicationError
        */
        keyName: string;
        /*
        * A message displayed in a confirmation dialog that appears when a respondent wants to delete a panel.
        * @see confirmDelete
        */
        confirmDeleteText: string;
        readonly locConfirmDeleteText: LocalizableString;
        /*
        * An error message displayed when users enter a duplicate value into a question that accepts only unique values (`isUnique` is set to `true` or `keyName` is specified).
        *
        * A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
        * @see keyName
        */
        keyDuplicationError: string;
        readonly locKeyDuplicationError: LocalizableString;
        /*
        * A caption for the Previous button. Applies only if `displayMode` is different from `"list"`.
        * @see displayMode
        * @see isPrevButtonVisible
        */
        panelPrevText: string;
        readonly locPanelPrevText: LocalizableString;
        /*
        * A caption for the Next button. Applies only if `displayMode` is different from `"list"`.
        * @see displayMode
        * @see isNextButtonVisible
        */
        panelNextText: string;
        readonly locPanelNextText: LocalizableString;
        /*
        * A caption for the Add Panel button.
        */
        panelAddText: string;
        readonly locPanelAddText: LocalizableString;
        /*
        * A caption for the Delete Panel button.
        * @see panelRemoveButtonLocation
        */
        panelRemoveText: string;
        readonly locPanelRemoveText: LocalizableString;
        readonly isProgressTopShowing: boolean;
        readonly isProgressBottomShowing: boolean;
        /*
        * Indicates whether the Previous button is visible.
        * @see currentIndex
        * @see currentPanel
        * @see panelPrevText
        */
        readonly isPrevButtonVisible: boolean;
        readonly isPrevButtonShowing: boolean;
        /*
        * Indicates whether the Next button is visible.
        * @see currentIndex
        * @see currentPanel
        * @see panelNextText
        */
        readonly isNextButtonVisible: boolean;
        readonly isNextButtonShowing: boolean;
        readonly isRangeShowing: boolean;
        getElementsInDesign(includeHidden?: boolean): Array<IElement>;
        private isAddingNewPanels;
        private addingNewPanelsValue;
        private isNewPanelsValueChanged;
        private prepareValueForPanelCreating;
        private setValueAfterPanelsCreating;
        protected getValueCore(): any;
        protected setValueCore(newValue: any): void;
        setIsMobile(val: boolean): void;
        themeChanged(theme: ITheme): void;
        /*
        * The number of panels in Dynamic Panel.
        * @see minPanelCount
        * @see maxPanelCount
        */
        panelCount: number;
        /*
        * Returns the number of visible panels in Dynamic Panel.
        * @see templateVisibleIf
        */
        readonly visiblePanelCount: number;
        /*
        * Specifies whether users can expand and collapse panels. Applies if `displayMode` is `"list"` and the `templateTitle` property is specified.
        *
        * Possible values:
        *
        * - `"default"` (default) - All panels are displayed in full and cannot be collapsed.
        * - `"expanded"` - All panels are displayed in full and can be collapsed in the UI.
        * - `"collapsed"` - All panels display only their titles and descriptions and can be expanded in the UI.
        * - `"firstExpanded"` - Only the first panel is displayed in full; other panels are collapsed and can be expanded in the UI.
        * @see displayMode
        * @see templateTitle
        */
        panelsState: string;
        private setTemplatePanelSurveyImpl;
        private setPanelsSurveyImpl;
        private setPanelsState;
        private setValueBasedOnPanelCount;
        /*
        * A minimum number of panels in Dynamic Panel. Users cannot delete panels if `panelCount` equals `minPanelCount`.
        *
        * Default value: 0
        * @see panelCount
        * @see maxPanelCount
        * @see allowRemovePanel
        */
        minPanelCount: number;
        private onMinPanelCountChanged;
        /*
        * A maximum number of panels in Dynamic Panel. Users cannot add new panels if `panelCount` equals `maxPanelCount`.
        *
        * Default value: 100 (inherited from [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/settings#panelMaximumPanelCount))
        * @see panelCount
        * @see minPanelCount
        * @see allowAddPanel
        */
        maxPanelCount: number;
        private onMaxPanelCountChanged;
        /*
        * Specifies whether users are allowed to add new panels.
        *
        * Default value: `true`
        *
        * By default, users add new panels to the end. If you want to let users insert a new panel after the current panel, set the [`newPanelPosition`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#newPanelPosition) property to `"next"`.
        * @see canAddPanel
        * @see allowRemovePanel
        */
        allowAddPanel: boolean;
        readonly addButtonId: string;
        /*
        * Specifies the position of newly added panels.
        *
        * Possible values:
        *
        * - `"last"` (default) - New panels are added to the end.
        * - `"next"` - New panels are inserted after the current panel.
        * @see allowAddPanel
        * @see addPanel
        */
        newPanelPosition: string;
        /*
        * Specifies whether users are allowed to delete panels.
        *
        * Default value: `true`
        * @see canRemovePanel
        * @see allowAddPanel
        */
        allowRemovePanel: boolean;
        /*
        * Gets or sets the location of question titles relative to their input fields.
        *
        * - `"default"` (default) - Inherits the setting from the Dynamic Panel's `titleLocation` property, which in turn inherits the [`questionTitleLocation`](https://surveyjs.io/form-library/documentation/surveymodel#questionTitleLocation) property value specified for the Dynamic Panel's container (page or survey).
        * - `"top"` - Displays question titles above input fields.
        * - `"bottom"` - Displays question titles below input fields.
        * - `"left"` - Displays question titles to the left of input fields.
        * - `"hidden"` - Hides question titles.
        * @see titleLocation
        */
        templateTitleLocation: string;
        /*
        * Specifies the error message position.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
        * - `"top"` - Displays error messages above questions.
        * - `"bottom"` - Displays error messages below questions.
        */
        templateErrorLocation: string;
        /*
        * Use this property to show/hide the numbers in titles in questions inside a dynamic panel.
        * By default the value is "off". You may set it to "onPanel" and the first question inside a dynamic panel will start with 1 or "onSurvey" to include nested questions in dymamic panels into global survey question numbering.
        */
        showQuestionNumbers: string;
        protected notifySurveyOnChildrenVisibilityChanged(): boolean;
        /*
        * Specifies the location of the Delete Panel button relative to panel content.
        *
        * Possible values:
        *
        * - `"bottom"` (default) - Displays the Delete Panel button below panel content.
        * - `"right"` - Displays the Delete Panel button to the right of panel content.
        * @see panelRemoveText
        */
        panelRemoveButtonLocation: string;
        /*
        * Obsolete. Use the [`showProgressBar`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) property instead.
        * @deprecated
        */
        showRangeInProgress: boolean;
        /*
        * Obsolete. Use the [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) property instead.
        * @deprecated
        */
        renderMode: string;
        private updatePanelView;
        /**
         * Specifies how to display panels.
         *
         * Possible values:
         *
         * - `"list"` (default) - Displays panels one under the other. [View Demo](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/)
         * - `"carousel"` - Displays panels in a carousel. Users can switch between panels using navigation buttons.
         * - `"tab"` - Displays each panel within a tab. Use the [`templateTabTitle`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle) to specify a template for tab titles. [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/)
         * @see showProgressBar
         * @see progressBarLocation
         */
        displayMode: "list" | "carousel" | "tab";
        /**
         * Specifies whether to display the progress bar. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
         *
         * Default value: `true`
         * @see progressBarLocation
         */
        showProgressBar: true | false;
        /**
         * Specifies the alignment of the [progress bar](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#showProgressBar) relative to the currently displayed panel. Applies only if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#displayMode) is `"carousel"`.
         *
         * Possible values:
         *
         * - `"top"` (default) - Displays the progress bar at the top of the current panel.
         * - `"bottom"` - Displays the progress bar at the bottom of the current panel.
         * - `"topBottom"` - Displays the progress bar at the top and bottom of the current panel.
         */
        progressBarLocation: "top" | "bottom" | "topBottom";
        tabAlign: "center" | "left" | "right";
        readonly isRenderModeList: boolean;
        readonly isRenderModeTab: boolean;
        setVisibleIndex(value: number): number;
        private setPanelVisibleIndex;
        /*
        * Indicates whether it is possible to add a new panel.
        *
        * This property returns `true` when all of the following conditions apply:
        *
        * - Users are allowed to add new panels (`allowAddPanel` is `true`).
        * - Dynamic Panel or its parent survey is not in read-only state.
        * - `panelCount` is less than `maxPanelCount`.
        * @see allowAddPanel
        * @see isReadOnly
        * @see panelCount
        * @see maxPanelCount
        * @see canRemovePanel
        */
        readonly canAddPanel: boolean;
        /*
        * Indicates whether it is possible to delete panels.
        *
        * This property returns `true` when all of the following conditions apply:
        *
        * - Users are allowed to delete panels (`allowRemovePanel` is `true`).
        * - Dynamic Panel or its parent survey is not in read-only state.
        * - `panelCount` exceeds `minPanelCount`.
        * @see allowRemovePanel
        * @see isReadOnly
        * @see panelCount
        * @see minPanelCount
        * @see canAddPanel
        */
        readonly canRemovePanel: boolean;
        protected rebuildPanels(): void;
        /*
        * If it is not empty, then this value is set to every new panel, including panels created initially, unless the defaultValue is not empty
        * @see defaultValue
        * @see defaultValueFromLastPanel
        */
        defaultPanelValue: any;
        /*
        * Specifies whether default values for a new panel should be copied from the last panel.
        *
        * If you also specify `defaultValue`, it will be merged with the copied values.
        * @see defaultValue
        */
        defaultValueFromLastPanel: boolean;
        protected isDefaultValueEmpty(): boolean;
        protected setDefaultValue(): void;
        readonly isValueArray: boolean;
        isEmpty(): boolean;
        getProgressInfo(): IProgressInfo;
        private isRowEmpty;
        /**
         * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
         *
         * Unlike the [`addPanel()`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#addPanel) method, `addPanelUI()` performs additional actions: checks whether a new panel [can be added](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canAddPanel), expands and focuses the new panel, and runs animated effects.
         * @see panelCount
         * @see panels
         */
        addPanelUI(): PanelModel;
        private focusNewPanelCallback;
        private focusNewPanel;
        /**
         * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
         * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`displayMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `displayMode` value.
         * @see panelCount
         * @see panels
         * @see allowAddPanel
         * @see newPanelPosition
         */
        addPanel(index?: number): PanelModel;
        private updateValueOnAddingPanel;
        private canLeaveCurrentPanel;
        private copyValue;
        /**
         * Deletes a panel from the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
         *
         * Unlike the [`removePanel()`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#removePanel) method, `removePanelUI()` performs additional actions: checks whether the panel [can be removed](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#canRemovePanel) and displays a confirmation dialog (if the [`confirmDelete`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#confirmDelete) property is enabled).
         * @param value A `PanelModel` instance or zero-based panel index.
         * @see addPanelUI
         */
        removePanelUI(value: any): void;
        getPanelRemoveButtonId(panel: PanelModel): string;
        isRequireConfirmOnDelete(val: any): boolean;
        /**
         * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `displayMode` is `"list"` or the current panel contains validation errors.
         * @see displayMode
         */
        goToNextPanel(): boolean;
        /**
         * Switches Dynamic Panel to the previous panel.
         */
        goToPrevPanel(): void;
        private removedPanelIndex;
        /**
         * Deletes a panel from the [`panels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#panels) array.
         * @param value A `PanelModel` instance or zero-based panel index.
         * @see addPanel
         */
        removePanel(value: any): void;
        private notifyOnPanelAddedRemoved;
        private getVisualPanelIndex;
        private getPanelVisibleIndexById;
        locStrsChanged(): void;
        clearIncorrectValues(): void;
        clearErrors(): void;
        getQuestionFromArray(name: string, index: number): IQuestion;
        private clearIncorrectValuesInPanel;
        private iscorrectValueWithPostPrefix;
        getSharedQuestionFromArray(name: string, panelIndex: number): Question;
        addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
        protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean, includeItSelf: boolean): void;
        getConditionJson(operator?: string, path?: string): any;
        protected onReadOnlyChanged(): void;
        private updateNoEntriesTextDefaultLoc;
        onSurveyLoad(): void;
        private hasPanelBuildFirstTime;
        private isBuildingPanelsFirstTime;
        private buildPanelsFirstTime;
        private runTriggersOnBuildPanelsFirstTime;
        private readonly showAddPanelButton: any;
        private readonly wasNotRenderedInSurvey: any;
        private readonly canBuildPanels: any;
        protected onFirstRenderingCore(): void;
        localeChanged(): void;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        runTriggers(name: string, value: any, keys?: any): void;
        private reRunCondition;
        protected runPanelsCondition(panels: PanelModel[], values: HashTable<any>, properties: HashTable<any>): void;
        private isValueChangedWithoutPanels;
        onAnyValueChanged(name: string, questionName: string): void;
        private hasKeysDuplicated;
        private updatePanelsContainsErrors;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        protected getContainsErrors(): boolean;
        protected getIsAnswered(): boolean;
        protected clearValueOnHidding(isClearOnHidden: boolean): void;
        clearValueIfInvisible(reason?: string): void;
        private clearValueInPanelsIfInvisible;
        protected getIsRunningValidators(): boolean;
        getAllErrors(): Array<SurveyError>;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        private getPanelDisplayValue;
        private hasErrorInPanels;
        private setOnCompleteAsyncInPanel;
        private isValueDuplicated;
        getPanelActions(panel: PanelModel): Array<IAction>;
        protected createNewPanel(): PanelModel;
        protected createAndSetupNewPanelObject(): PanelModel;
        private getTemplateQuestionTitleLocation;
        getChildErrorLocation(child: Question): string;
        protected createNewPanelObject(): PanelModel;
        private settingPanelCountBasedOnValue;
        private setPanelCountBasedOnValue;
        setQuestionValue(newValue: any): void;
        onSurveyValueChanged(newValue: any): void;
        private isAllPanelsEmpty;
        private panelUpdateValueFromSurvey;
        private panelSurveyValueChanged;
        protected onSetData(): void;
        protected isNewValueCorrect(val: any): boolean;
        getItemIndex(item: ISurveyData): number;
        getVisibleItemIndex(item: ISurveyData): number;
        getPanelItemData(item: ISurveyData): any;
        private isSetPanelItemData;
        private static maxCheckCount;
        setPanelItemData(item: ISurveyData, name: string, val: any): void;
        getRootData(): ISurveyData;
        getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
        updateElementCss(reNew?: boolean): void;
        readonly progressText: string;
        readonly progress: string;
        getRootCss(): string;
        readonly cssHeader: string;
        getTabsContainerCss(): string;
        getPanelWrapperCss(panel: PanelModel): string;
        getPanelRemoveButtonCss(): string;
        getAddButtonCss(): string;
        getPrevButtonCss(): string;
        getNextButtonCss(): string;
        /*
        * A text displayed when Dynamic Panel contains no entries.
        */
        noEntriesText: string;
        readonly locNoEntriesText: LocalizableString;
        getShowNoEntriesPlaceholder(): boolean;
        needResponsiveWidth(): boolean;
        private tabbedMenuValue;
        readonly hasTabbedMenu: boolean;
        readonly tabbedMenu: AdaptiveActionContainer<PanelDynamicTabbedMenuItem> | null;
        private footerToolbarValue;
        readonly footerToolbar: ActionContainer;
        legacyNavigation: boolean;
        private updateFooterActionsCallback;
        private updateFooterActions;
        private initFooterToolbar;
        private createTabByPanel;
        private getTabbedMenuCss;
        private updateTabToolbarItemsPressedState;
        private updateTabToolbar;
        private addTabFromToolbar;
        private removeTabFromToolbar;
        readonly showLegacyNavigation: boolean;
        readonly showNavigation: boolean;
        showSeparator(index: number): boolean;
        protected calcCssClasses(css: any): any;
        protected onMobileChanged(): void;
    }
}
declare module "packages/survey-core/src/question_signaturepad" {
    import { ITheme } from "packages/survey-core/src/themes";
    import { QuestionFileModelBase } from "packages/survey-core/src/question_file";
    /**
     * A class that describes the Signature question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/signature-pad-widget-javascript/ (linkStyle))
     */
    export class QuestionSignaturePadModel extends QuestionFileModelBase {
        hasDrawnStroke: boolean;
        isReadyForUpload: boolean;
        private getPenColorFromTheme;
        private updateColors;
        protected getCssRoot(cssClasses: any): string;
        protected getFormat(): "" | "image/svg+xml" | "image/jpeg";
        protected updateValue(): void;
        constructor(name: string);
        getType(): string;
        afterRenderQuestionElement(el: HTMLElement): void;
        beforeDestroyQuestionElement(el: HTMLElement): void;
        themeChanged(theme: ITheme): void;
        private canvas;
        private element;
        private scale;
        private valueIsUpdatingInternally;
        valueWasChangedFromLastUpload: boolean;
        private resizeCanvas;
        private scaleCanvas;
        private fromUrl;
        private fromDataUrl;
        private _loadedData;
        readonly loadedData: string;
        protected loadPreview(newValue: any): void;
        protected onChangeQuestionValue(newValue: any): void;
        onSurveyLoad(): void;
        private updateValueHandler;
        initSignaturePad(el: HTMLElement): void;
        destroySignaturePad(el: HTMLElement): void;
        /*
        * Specifies the format in which to store the signature image.
        *
        * Possible values:
        *
        * - `"png"` (default)
        * - `"jpeg"`
        * - `"svg"`
        */
        dataFormat: string;
        /*
        * Specifies the width of the signature area. Accepts positive integer numbers.
        */
        signatureWidth: number;
        /*
        * Specifies the height of the signature area. Accepts positive integer numbers.
        */
        signatureHeight: number;
        /**
         * Specifies whether the signature area should be scaled to fit into the question width.
         *
         * Default value: `false`
         *
         * This property auto-scales the signature area to fill all available width within the question box while maintaining the default 3:2 aspect ratio. If you set [custom width](#signatureWidth) and [height](#signatureHeight) values, the setting will keep the aspect ratio of these dimensions.
         *
         * > The signature area is scaled only for display. The image saved in survey results will have dimensions specified by the [`signatureHeight`](#signatureHeight) and [`signatureWidth`](#signatureWidth) properties.
         */
        signatureAutoScaleEnabled: boolean;
        /**
         * Speicifies the minimum width of pen strokes, measured in pixels.
         *
         * Default value: 0.5
         */
        penMinWidth: number;
        /**
         * Speicifies the maximum width of pen strokes, measured in pixels.
         *
         * Default value: 2.5
         */
        penMaxWidth: number;
        private readonly containerHeight: any;
        private readonly containerWidth: any;
        readonly renderedCanvasWidth: string;
        height: number;
        /*
        * Specifies whether to display a button that clears the signature area.
        *
        * Default value: `true`
        */
        allowClear: boolean;
        readonly canShowClearButton: boolean;
        /*
        * Specifies a color for the pen.
        *
        * This property accepts color values in the following formats:
        *
        * - Hexadecimal colors (`"#FF0000"`)
        * - RGB colors (`"rgb(255,0,0)"`)
        * - Color names (`"red"`)
        * @see backgroundColor
        */
        penColor: string;
        /*
        * Specifies a color for the signature area background. Ignored if [`backgroundImage`](#backgroundImage) is set.
        *
        * This property accepts color values in the following formats:
        *
        * - Hexadecimal colors (`"#FF0000"`)
        * - RGB colors (`"rgb(255,0,0)"`)
        * - Color names (`"red"`)
        * @see penColor
        */
        backgroundColor: string;
        /*
        * An image to display in the background of the signature area. Accepts a base64 or URL string value.
        * @see backgroundColor
        */
        backgroundImage: string;
        readonly clearButtonCaption: string;
        /**
         * A Boolean value that specifies whether to show the placeholder text in the signature area.
         *
         * Default value: `true`
         *
         * Use the [`placeholder`](#placeholder) and [`placeholderReadOnly`](#placeholderReadOnly) properties to specify placeholder texts for the signature area in edit mode and in read-only or preview mode.
         */
        showPlaceholder: boolean;
        readonly locRenderedPlaceholder: any;
        nothingIsDrawn(): boolean;
        needShowPlaceholder(): boolean;
        /**
         * A placeholder text for the signature area. Applies when the [`showPlaceholder`](#showPlaceholder) property is `true`.
         */
        placeholder: string;
        /**
         * A placeholder text for the signature area in read-only or preview mode. Applies when the [`showPlaceholder`](#showPlaceholder) property is `true`.
         */
        placeholderReadOnly: string;
        protected onBlurCore(event: any): void;
        protected uploadResultItemToValue(r: any): any;
        protected setValueFromResult(arg: any): void;
        clearValue(keepComment?: boolean): void;
        endLoadingFromJson(): void;
    }
}
declare module "packages/survey-core/src/survey-events-api" {
    import { IAction } from "packages/survey-core/src/actions/action";
    import { Base } from "packages/survey-core/src/base";
    import { IElement, IPanel, ISurveyElement, IValueItemCustomPropValues } from "packages/survey-core/src/base-interfaces";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { PageModel } from "packages/survey-core/src/page";
    import { PanelModel, PanelModelBase } from "packages/survey-core/src/panel";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { Question } from "packages/survey-core/src/question";
    import { QuestionFileModel } from "packages/survey-core/src/question_file";
    import { MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from "packages/survey-core/src/question_matrixdropdownbase";
    import { MatrixDropdownColumn } from "packages/survey-core/src/question_matrixdropdowncolumn";
    import { QuestionMatrixDynamicModel } from "packages/survey-core/src/question_matrixdynamic";
    import { QuestionPanelDynamicModel } from "packages/survey-core/src/question_paneldynamic";
    import { QuestionSignaturePadModel } from "packages/survey-core/src/question_signaturepad";
    import { SurveyModel } from "packages/survey-core/src/survey";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { Trigger } from "packages/survey-core/src/trigger";
    export interface QuestionEventMixin {
        /**
         * A Question instance for which the event is raised.
         */
        question: Question;
    }
    export interface FileQuestionEventMixin {
        /**
         * A File Upload or Signature Pad question instance for which the event is raised.
         */
        question: QuestionFileModel | QuestionSignaturePadModel;
    }
    export interface PanelDynamicQuestionEventMixin {
        /**
         * A Dynamic Panel question instance for which the event is raised.
         */
        question: QuestionPanelDynamicModel;
    }
    export interface MatrixDropdownQuestionEventMixin {
        /**
         * A Multi-Select Matrix question instance for which the event is raised.
         */
        question: QuestionMatrixDropdownModelBase;
    }
    export interface MatrixDynamicQuestionEventMixin {
        /**
         * A Dynamic Matrix question instance for which the event is raised.
         */
        question: QuestionMatrixDynamicModel;
    }
    export interface PanelEventMixin {
        /**
         * A Panel instance for which the event is raised.
         */
        panel: PanelModel;
    }
    export interface PageEventMixin {
        /**
         * A Page instance for which the event is raised.
         */
        page: PageModel;
    }
    export interface GetTitleActionsEventMixin {
        /**
         * An array of [actions](https://surveyjs.io/form-library/documentation/iaction) associated with the processed element.
         */
        actions: Array<IAction>;
        /**
         * Obsolete. Use `options.actions` instead.
         */
        titleActions?: Array<IAction>;
    }
    export interface GetActionsEventMixin {
        /**
         * An array of [actions](https://surveyjs.io/form-library/documentation/iaction). You can modify the entire array or individual actions within it.
         */
        actions: Array<IAction>;
    }
    export interface AfterRenderElementEventMixin {
        /**
         * A rendered HTML element.
         */
        htmlElement: HTMLElement;
    }
    export interface UpdateElementCssClassesEventMixin {
        /**
         * An object with CSS classes applied to the element being rendered, for example, `{ root: "class1", button: "class2" }`. You can modify this object to apply custom CSS classes.
         */
        cssClasses: any;
    }
    export interface ElementVisibleChangedEventMixin {
        /**
         * Indicates whether the element is visible now.
         */
        visible: boolean;
    }
    export interface TriggerExecutedEvent {
        /**
         * A trigger that has been executed.
         */
        trigger: Trigger;
    }
    export interface CompleteBaseEvent {
        /**
         * Returns `true` if survey completion is caused by a ["complete" trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete).
         */
        isCompleteOnTrigger: boolean;
        /**
         * A "complete" trigger that has been executed. This parameter has a value only if `options.isCompleteOnTrigger` is `true`.
         */
        completeTrigger?: Trigger;
    }
    export interface CompletingEvent extends CompleteBaseEvent {
        /**
         * A Boolean property that you can set to `false` if you want to prevent survey completion.
         */
        allow: boolean;
        /**
         * Obsolete. Use `options.allow` instead.
         */
        allowComplete: boolean;
    }
    export interface CompleteEvent extends CompleteBaseEvent {
        /**
         * Call this method to hide the save operation messages.
         */
        clearSaveMessages: (test?: string) => void;
        /**
         * Call this method to indicate that survey results are successfully saved. You can use the `text` parameter to display a custom message.
         */
        showSaveSuccess: (text?: string) => void;
        /**
         * Call this method to indicate that an error occurred during the save operation. You can use the `text` parameter to display a custom error message.
         */
        showSaveError: (text?: string) => void;
        /**
         * Call this method to indicate that the save operation is in progress. You can use the `text` parameter to display a custom message.
         */
        showSaveInProgress: (text?: string) => void;
        /**
         * Obsolete. Use `options.showSaveInProgress` instead.
         */
        showDataSaving: (text?: string) => void;
        /**
         * Obsolete. Use `options.showSaveError` instead.
         */
        showDataSavingError: (text?: string) => void;
        /**
         * Obsolete. Use `options.showSaveSuccess` instead.
         */
        showDataSavingSuccess: (text?: string) => void;
        /**
         * Obsolete. Use `options.clearSaveMessages` instead.
         */
        showDataSavingClear: (text?: string) => void;
    }
    export interface ShowingPreviewEvent {
        /**
         * A Boolean property that you can set to `false` if you want to cancel the preview.
         */
        allow: boolean;
        /**
         * Obsolete. Use `options.allow` instead.
         */
        allowShowPreview: boolean;
    }
    export interface NavigateToUrlEvent {
        /**
         * A Boolean property that you can set to `false` if you want to cancel the navigation and show the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
         */
        allow: boolean;
        /**
         * A URL to which respondents should be navigated. You can modify this parameter's value.
         */
        url: string;
    }
    export interface CurrentPageChangedEvent {
        /**
         * Returns `true` if the respondent is switching to the previous page.
         */
        isPrevPage: boolean;
        /**
         * Returns `true` if the respondent is switching to the next page.
         */
        isNextPage: boolean;
        /**
         * Returns `true` if the respondent is going backward, that is, `newCurrentPage` or `newCurrentQuestion` is earlier in the survey than `oldCurrentPage`  or `oldCurrentQuestion`.
         */
        isGoingBackward: boolean;
        /**
         * Returns `true` if the respondent is going forward along the survey.
         */
        isGoingForward: boolean;
        /**
         * Returns `true` if the respondent is switching from the [preview page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page).
         */
        isAfterPreview: boolean;
        /**
         * The current page.
         */
        newCurrentPage: PageModel;
        /**
         * A page that used to be current.\
         * In [question-per-page mode](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode), the `oldCurrentPage` and `newCurrentPage` parameters may contain the same `PageModel` instance. This is because the survey doesn't create artificial pages to display only one question per page. If both the previous and current questions belong to the same page in the survey JSON schema, they have the same parent `PageModel` instance.
         */
        oldCurrentPage: PageModel;
        /**
         * The current question.\
         * This parameter has a value only in [question-per-page mode](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode).
         */
        oldCurrentQuestion?: Question;
        /**
         * A question that used to be current.\
         * This parameter has a value only in [question-per-page mode](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode).
         */
        newCurrentQuestion?: Question;
    }
    export interface CurrentPageChangingEvent extends CurrentPageChangedEvent {
        /**
         * A Boolean property that you can set to `false` if you do not want to switch the current page.
         */
        allow: boolean;
        /**
         * Obsolete. Use `options.allow` instead.
         */
        allowChanging: boolean;
    }
    export interface ValueChangeBaseEvent extends QuestionEventMixin {
        /**
         * The `name` of the question whose value is being changed. If you use the [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#valueName) property, this parameter contains its value.
         */
        name: string;
        /**
         * A value that indicates what caused the value change: an [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) evaluation or a run of a [trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers). If the value is changed for other reasons, this parameter is `undefined`.
         */
        reason: "trigger" | "expression" | undefined;
    }
    export interface ValueChangedEvent extends ValueChangeBaseEvent {
        /**
         * A new value.
         */
        value: any;
    }
    export interface ValueChangingEvent extends ValueChangeBaseEvent {
        /**
         * A new value. You can change it if required.
         */
        value: any;
        /**
         * A previous value.
         */
        oldValue: any;
    }
    export interface VariableChangedEvent {
        /**
         * A new value for the variable or calculated value.
         */
        value: any;
        /**
         * The name of the variable or calculated value that has been changed.
         */
        name: string;
    }
    export interface QuestionVisibleChangedEvent extends QuestionEventMixin, ElementVisibleChangedEventMixin {
        /**
         * The question's name.
         */
        name: string;
    }
    export interface PageVisibleChangedEvent extends ElementVisibleChangedEventMixin, PageEventMixin {
    }
    export interface PanelVisibleChangedEvent extends ElementVisibleChangedEventMixin, PanelEventMixin {
    }
    export interface QuestionCreatedEvent extends QuestionEventMixin {
    }
    export interface ElementAddedEvent {
        /**
         * A page that nests the added element.
         */
        page: PanelModelBase;
        /**
         * The parent container (panel or page).
         */
        parent: PanelModelBase;
        /**
         * Obsolete. Use `options.page` instead.
         */
        rootPanel: any;
        /**
         * Obsolete. Use `options.parent` instead.
         */
        parentPanel: any;
        /**
         * The element's index within the parent container (panel or page).
         */
        index: number;
        /**
         * The question's name.
         */
        name: string;
    }
    export interface ElementRemovedEvent {
        /**
         * The element's name.
         */
        name: string;
    }
    export interface QuestionAddedEvent extends QuestionEventMixin, ElementAddedEvent {
    }
    export interface QuestionRemovedEvent extends QuestionEventMixin, ElementRemovedEvent {
    }
    export interface PanelAddedEvent extends PanelEventMixin, ElementAddedEvent {
    }
    export interface PanelRemovedEvent extends PanelEventMixin, ElementRemovedEvent {
    }
    export interface PageAddedEvent extends PageEventMixin {
    }
    export interface ValidateQuestionEvent extends QuestionEventMixin {
        /**
         * An error message that you should specify if validation fails.
         */
        error: string;
        /**
         * A question value being validated.
         */
        value: any;
        /**
         * The question's name.
         */
        name: string;
    }
    export interface SettingQuestionErrorsEvent extends QuestionEventMixin {
        /**
         * An array of errors. The array is empty if the validated question satisfies all validation rules.
         */
        errors: Array<SurveyError>;
    }
    export interface ServerValidateQuestionsEvent {
        /**
         * A method that you should call when a request to the server has completed.
         */
        complete: () => void;
        /**
         * An object for your error messages. Set error messages as follows: `options.errors["questionName"] = "My error message"`.
         */
        errors: {
            [index: string]: any;
        };
        /**
         * Question values. You can get an individual question value as follows: `options.data["questionName"]`.
         */
        data: {
            [index: string]: any;
        };
    }
    export interface ValidatePanelEvent extends PanelEventMixin {
        /**
         * An error message that you should specify if validation fails.
         */
        error: string;
        /**
         * The panel's name.
         */
        name: string;
    }
    export interface ErrorCustomTextEvent {
        /**
         * A validation error type: `"required"`, `"requireoneanswer"`, `"requirenumeric"`, `"exceedsize"`, `"webrequest"`, `"webrequestempty"`, `"otherempty"`, `"uploadingfile"`, `"requiredinallrowserror"`, `"minrowcounterror"`, `"keyduplicationerror"`, or `"custom"`
         */
        name: string;
        /**
         * A survey element to which the validation error belongs.
         */
        obj: Question | PanelModel | SurveyModel;
        /**
         * A validation error.
         */
        error: SurveyError;
        /**
         * An error message. You can assign a custom message to this parameter.
         */
        text: string;
    }
    export interface ValidatedErrorsOnCurrentPageEvent extends PageEventMixin {
        /**
         * An array of questions with validation errors.
         */
        questions: Array<Question>;
        /**
         * An array of validation errors.
         */
        errors: Array<SurveyError>;
    }
    export interface ProcessHtmlEvent {
        /**
         * HTML markup. You can modify this parameter's value.
         */
        html: string;
        /**
         * Indicates a page, question, or message for which HTML content is intended: [`"completed"`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedHtml) | [`"completed-before"`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml) | [`"loading"`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#loadingHtml) | [`"html-question"`](https://surveyjs.io/form-library/documentation/api-reference/add-custom-html-to-survey#html).
         */
        reason: string;
    }
    export interface GetQuestionTitleEvent extends QuestionEventMixin {
        /**
         * A question title taken from the question's `title` or `name` property. You can change this parameter's value.
         */
        title: string;
    }
    export interface GetTitleTagNameEvent {
        /**
         * A survey element (question, panel, page, or the survey itself) for which the event is raised.
         */
        element: Base;
        /**
         * A heading used to render the title (`"h1"`-`"h6"`). You can change this parameter's value.
         */
        tagName: string;
    }
    export interface GetQuestionNoEvent extends QuestionEventMixin {
        /**
         * Obsolete. Use `options.number` instead.
         */
        no: string;
    }
    export interface GetQuestionNumberEvent extends GetQuestionNoEvent {
        /**
         * A question number that is calculated based upon the question's [`visibleIndex`](https://surveyjs.io/form-library/documentation/api-reference/question#visibleIndex) and survey's [`questionStartIndex`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionStartIndex) properties. You can change this parameter's value.
         */
        number: string;
    }
    export interface GetPageNumberEvent extends PageEventMixin {
        /**
         * A page number. Note that this is a string value that contains not only the number itself but also the characters that separate the number from the page title: `"1. "`, `"2. "`, etc. You can change this parameter's value.
         */
        number: string;
    }
    export interface GetPanelNumberEvent extends PanelEventMixin {
        /**
         * A panel number. Note that this is a string value that contains not only the number itself but also the characters that separate the number from the panel title: `"1. "`, `"2. "`, etc. You can change this parameter's value.
         */
        number: string;
    }
    export interface GetProgressTextEvent {
        /**
         * The number of questions with input fields. [Image](https://surveyjs.io/form-library/examples/add-image-and-video-to-survey/), [HTML](https://surveyjs.io/form-library/examples/questiontype-html/), and [Expression](https://surveyjs.io/form-library/examples/questiontype-expression/) questions are not counted.
         */
        questionCount: number;
        /**
         * The number of answered questions.
         */
        answeredQuestionCount: number;
        /**
         * The number of questions marked as required.
         */
        requiredQuestionCount: number;
        /**
         * The number of answered questions marked as required.
         */
        requiredAnsweredQuestionCount: number;
        /**
         * Progress text rendered in the [progress bar](#showProgressBar). You can change this parameter's value.
         */
        text: string;
    }
    export interface ProgressTextEvent extends GetProgressTextEvent {
    }
    export interface TextProcessingEvent {
        /**
         * The name of the property that contains the text to process.
         */
        name: string;
        /**
         * A survey element (question, panel, page, or survey) in which the text will be rendered.
         */
        element: Question | PanelModel | PageModel | SurveyModel;
    }
    export interface TextMarkdownEvent extends TextProcessingEvent {
        /**
         * A string with Markdown content. Convert this content to HTML and assign the result to the `options.html` parameter.
         */
        text: string;
        /**
         * A property to which you should assign HTML content.
         */
        html?: string;
    }
    export interface TextRenderAsEvent extends TextProcessingEvent {
        /**
         * a component name used for text rendering
         */
        renderAs: string;
    }
    export interface SendResultEvent {
        /**
         * A server [response](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response).
         */
        response: any;
        request: any;
        /**
         * A Boolean value that indicates whether survey results have been saved successfully.
         */
        success: boolean;
    }
    export interface GetResultEvent {
        /**
         * A server [response](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response).
         */
        response: any;
        /**
         * A Boolean value that indicates whether survey results have been retrieved successfully.
         */
        success: boolean;
        /**
         * An object with the following structure:
         *
         *     ```js
         *     {
         *       AnswersCount: Number, // A total number of posted answers to the question
         *       QuestionResult: Object // All unique answers to the question and their number
         *     }
         *     ```
         */
        data: any;
        /**
         * An array of objects with the following structure:
         *
         *     ```js
         *     {
         *       name: String, // A unique answer to the question
         *       value: Number // The number of user responses with this answer
         *     }
         *     ```
         */
        dataList: Array<any>;
    }
    export interface LoadFilesEvent extends FileQuestionEventMixin {
        /**
         * A File Upload question's name.
         */
        name: string;
    }
    export interface UploadFilesEvent extends LoadFilesEvent {
        /**
         * A callback function that you should call when a file is uploaded successfully or when file upload fails. Pass an array of successfully uploaded files as the first argument. As the second argument, you can pass an array of error messages if file upload failed.
         */
        callback: (data: any | Array<any>, errors?: any | Array<any>) => any;
        /**
         * An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
         */
        files: Array<File>;
    }
    export interface OpenFileChooserEvent {
        /**
         * A file input HTML element.
         */
        input: HTMLInputElement;
        /**
         * A question for which this event is raised.
         */
        element: Base;
        /**
         * The type of the element passed as the `options.element` parameter.\
         * Possible values: any value returned from the [`getType()`](https://surveyjs.io/form-library/documentation/api-reference/question#getType) method.
         */
        elementType: String;
        /**
         * The name of the survey element property for which files are being selected.
         */
        propertyName: String;
        /**
         * A choice item for which the event is raised. This parameter has a value only when the dialog window is opened to select images for an [Image Picker](https://surveyjs.io/form-library/documentation/api-reference/image-picker-question-model) question.
         */
        item: ItemValue;
        /**
         * A callback function to which you should pass selected files.
         * @param files An array of selected files.
         */
        callback: (files: Array<File>) => void;
    }
    export interface DownloadFileEvent extends LoadFilesEvent {
        /**
         * A callback function that you should call when a file is downloaded successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass the downloaded file's data as a Base64 string if file download was successful or an error message if file download failed.
         */
        callback: (status: string, data?: any) => any;
        /**
         * The File Upload question's [`value`](https://surveyjs.io/form-library/documentation/api-reference/file-model#value) that contains metadata about uploaded files.
         */
        fileValue: any;
        /**
         * A file identifier (URL, file name, etc.) stored in survey results.
         */
        content: any;
    }
    export interface ClearFilesEvent extends LoadFilesEvent {
        /**
         * A callback function that you should call when files are deleted successfully or when deletion fails. Pass `"success"` or `"error"` as the first argument to indicate the operation status. As the second argument, you can pass deleted files' data (`options.value`) if file deletion was successful or an error message if file deletion failed.
         */
        callback: (status: string, data?: any) => any;
        /**
         * The name of a file to delete. When this parameter is `null`, all files should be deleted.
         */
        fileName: string;
        /**
         * The File Upload question's [`value`](https://surveyjs.io/form-library/documentation/api-reference/file-model#value) that contains metadata about uploaded files.
         */
        value: any;
    }
    export interface LoadChoicesFromServerEvent extends QuestionEventMixin {
        /**
         * A query result as it came from the server.
         */
        serverResult: any;
        /**
         * An array of loaded choices. You can modify this array.
         */
        choices: Array<ItemValue>;
    }
    export interface ProcessTextValueEvent {
        /**
         * The name of the value being processed (the text in curly brackets).
         */
        name: string;
        /**
         * The value being processed. You can change this parameter's value.
         */
        value: any;
        isExists: boolean;
        canProcess: boolean;
        returnDisplayValue: boolean;
    }
    export interface UpdateQuestionCssClassesEvent extends QuestionEventMixin, UpdateElementCssClassesEventMixin {
    }
    export interface UpdatePanelCssClassesEvent extends PanelEventMixin, UpdateElementCssClassesEventMixin {
    }
    export interface UpdatePageCssClassesEvent extends PageEventMixin, UpdateElementCssClassesEventMixin {
    }
    export interface UpdateChoiceItemCssEvent extends QuestionEventMixin {
        /**
         * A choice item. To access its value and display text, use the `options.item.value` and `options.item.text` properties.
         */
        item: ItemValue;
        /**
         * A string with CSS classes applied to the choice item. The CSS classes are separated by a space character. You can modify this string to apply custom CSS classes.
         */
        css: string;
    }
    export interface AfterRenderSurveyEvent extends AfterRenderElementEventMixin {
        /**
         * Obsolete. Use the `sender` parameter instead.
         */
        survey: SurveyModel;
    }
    export interface AfterRenderHeaderEvent extends AfterRenderElementEventMixin {
    }
    export interface AfterRenderPageEvent extends AfterRenderElementEventMixin, PageEventMixin {
    }
    export interface AfterRenderQuestionEvent extends QuestionEventMixin, AfterRenderElementEventMixin {
    }
    export interface AfterRenderQuestionInputEvent extends QuestionEventMixin, AfterRenderElementEventMixin {
    }
    export interface AfterRenderPanelEvent extends AfterRenderElementEventMixin, PanelEventMixin {
    }
    export interface FocusInQuestionEvent extends QuestionEventMixin {
    }
    export interface FocusInPanelEvent extends PanelEventMixin {
    }
    export interface ShowingChoiceItemEvent extends QuestionEventMixin {
        /**
         * A choice item.
         */
        item: ItemValue;
        /**
         * A Boolean value that specifies item visibility. Set it to `false` to hide the item.
         */
        visible: boolean;
    }
    export interface ChoicesLazyLoadEvent extends QuestionEventMixin {
        /**
         * A method that you should call to assign loaded items to the question. Item objects should be structured as specified in the [`choices`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#choices) property description. If their structure is different, [map their properties](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) to bring them to the required structure.
         */
        setItems: (items: Array<{
            "value": any;
            "text"?: String;
            "imageLink"?: string;
            "customProperty"?: any;
        } | string>, totalCount: number) => void;
        /**
         * A search string used to filter choices.
         */
        filter: string;
        /**
         * The number of choice items to load. You can use the question's [`choicesLazyLoadPageSize`](https://surveyjs.io/form-library/documentation/questiondropdownmodel#choicesLazyLoadPageSize) property to change this number.
         */
        take: number;
        /**
         * The number of choice items to skip.
         */
        skip: number;
    }
    export interface ChoicesSearchEvent extends QuestionEventMixin {
        /**
         * A search string used to filter choice options.
         */
        filter: string;
        /**
         * An array of all choice options.
         */
        choices: Array<ItemValue>;
        /**
         * A filtered array of choice options. Apply `options.filter` to the `options.choices` array and assign the result to this parameter.
         */
        filteredChoices: Array<ItemValue>;
    }
    export interface GetChoiceDisplayValueEvent extends QuestionEventMixin {
        /**
         * A method that you should call to assign display texts to the question.
         */
        setItems: (displayValues: Array<string>, ...customValues: Array<IValueItemCustomPropValues>) => void;
        /**
         * An array of one (in Dropdown) or more (in Tag Box) default values.
         */
        values: Array<any>;
    }
    export interface MatrixRowAddedEvent extends MatrixDynamicQuestionEventMixin {
        /**
         * An added matrix row.
         */
        row: MatrixDropdownRowModelBase;
    }
    export interface MatrixBeforeRowAddedEvent extends MatrixDynamicQuestionEventMixin {
        /**
         * A Boolean property that you can set to `false` if you do not want to add the row.
         */
        allow: boolean;
        /**
         * Obsolete. Use `options.allow` instead.
         */
        canAddRow: boolean;
    }
    export interface MatrixRowRemovingEvent extends MatrixDynamicQuestionEventMixin {
        /**
         * A matrix row to be deleted. If you want to clear row data, set the `options.row.value` property to `undefined`.
         */
        row: MatrixDropdownRowModelBase;
        /**
         * A zero-based index of the matrix row to be deleted.
         */
        rowIndex: number;
        /**
         * A Boolean property that you can set to `false` if you want to cancel row deletion.
         */
        allow: boolean;
    }
    export interface MatrixRowRemovedEvent extends MatrixDynamicQuestionEventMixin {
        /**
         * A deleted matrix row.
         */
        row: MatrixDropdownRowModelBase;
        /**
         * A zero-based index of the deleted row.
         */
        rowIndex: number;
    }
    export interface MatrixAllowRemoveRowEvent extends MatrixDynamicQuestionEventMixin {
        /**
         * A matrix row for which the event is raised.
         */
        row: MatrixDropdownRowModelBase;
        /**
         * A zero-based row index.
         */
        rowIndex: number;
        /**
         * A Boolean property that you can set to `false` if you want to hide the Remove button for this row.
         */
        allow: boolean;
    }
    export interface MatrixDetailPanelVisibleChangedEvent extends MatrixDropdownQuestionEventMixin {
        /**
         * A matrix row to which the detail section belongs.
         */
        row: MatrixDropdownRowModelBase;
        /**
         * A zero-based row index.
         */
        rowIndex: number;
        /**
         * A [PanelModel](https://surveyjs.io/form-library/documentation/panelmodel) that represents the detail section.
         */
        detailPanel: PanelModel;
        /**
         * Indicates whether the detail section is visible now.
         */
        visible: boolean;
    }
    export interface MatrixCellCreatingBaseEvent extends MatrixDropdownQuestionEventMixin {
        /**
         * A [matrix column](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) to which the cell belongs.
         */
        column: MatrixDropdownColumn;
        /**
         * The name of the matrix column to which the cell belongs.
         */
        columnName: string;
        /**
         * A matrix row to which the cell belongs.
         */
        row: MatrixDropdownRowModelBase;
        /**
         * The values of this matrix row.\
         * To access a particular column's value, use the following code: `options.rowValue["columnName"]`
         */
        rowValue: any;
    }
    export interface MatrixCellCreatingEvent extends MatrixCellCreatingBaseEvent {
        /**
         * The type of this matrix cell. You can change this property value to one of the values described in the [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#cellType) documentation.
         */
        cellType: string;
    }
    export interface MatrixCellCreatedEvent extends MatrixCellCreatingBaseEvent {
        /**
         * A matrix cell for which the event is raised.
         */
        cell: MatrixDropdownCell;
        /**
         * A Question instance within the matrix cell. You can use the properties and methods exposed by the instance to customize it.
         */
        cellQuestion: Question;
    }
    export interface MatrixAfterCellRenderEvent extends QuestionEventMixin, AfterRenderElementEventMixin {
        /**
         * A matrix cell for which the event is raised.
         */
        cell: MatrixDropdownCell;
        /**
         * A Question instance within the matrix cell.
         */
        cellQuestion: Question;
        /**
         * A matrix row to which the cell belongs.
         */
        row: MatrixDropdownRowModelBase;
        /**
         * A [matrix column](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) to which the cell belongs.
         */
        column: MatrixDropdownColumn | MatrixDropdownCell;
    }
    export interface MatrixCellValueBaseEvent extends MatrixDropdownQuestionEventMixin {
        /**
         * A matrix row to which the cell belongs.
         */
        row: MatrixDropdownRowModelBase;
        /**
         * A [matrix column](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) to which the cell belongs.
         */
        column: MatrixDropdownColumn;
        /**
         * The name of a matrix column to which the cell belongs.
         */
        columnName: string;
        /**
         * A Question instance within the matrix cell. You can use the properties and methods exposed by the instance to customize it.
         */
        cellQuestion: Question;
        /**
         * A method that returns a Question instance within the matrix cell given a column name.
         */
        getCellQuestion: (columnName: string) => Question;
        /**
         * A new cell value.
         */
        value: any;
    }
    export interface MatrixCellValueChangedEvent extends MatrixCellValueBaseEvent {
    }
    export interface MatrixCellValueChangingEvent extends MatrixCellValueBaseEvent {
        /**
         * A previous cell value.
         */
        oldValue: any;
    }
    export interface MatrixCellValidateEvent extends MatrixCellValueBaseEvent {
        /**
         * A field for your custom error message. Default value: `undefined`.
         */
        error?: string;
    }
    export interface DynamicPanelModifiedEvent extends PanelDynamicQuestionEventMixin, PanelEventMixin {
        /**
         * The panel's index within Dynamic Panel.
         */
        panelIndex: number;
    }
    export interface DynamicPanelRemovingEvent extends DynamicPanelModifiedEvent {
        /**
         * A Boolean property that you can set to `false` if you want to cancel panel deletion.
         */
        allow: boolean;
    }
    export interface TimerPanelInfoTextEvent {
        /**
         * the timer panel info text
         */
        text: string;
    }
    export interface DynamicPanelValueChangedEvent extends PanelDynamicQuestionEventMixin {
        /**
         * The panel's data object that includes all item values.
         */
        panelData: {
            [index: string]: any;
        };
        /**
         * The panel's index within Dynamic Panel.
         */
        panelIndex: number;
        /**
         * The item's name.
         */
        name: string;
        /**
         * A panel that nests the item with a changed value.
         */
        panel: PanelModel;
        /**
         * The item's new value.
         */
        value: any;
    }
    export interface DynamicPanelValueChangingEvent extends DynamicPanelValueChangedEvent {
        /**
         * The item's old value.
         */
        oldValue: any;
    }
    export interface DynamicPanelItemValueChangedEvent extends DynamicPanelValueChangedEvent {
    }
    export interface DynamicPanelCurrentIndexChangedEvent extends PanelDynamicQuestionEventMixin {
        /**
         * A panel for which the event is raised.
         */
        panel: PanelModel;
        /**
         * The panel's index in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array of the Dynamic Panel.
         */
        visiblePanelIndex: number;
    }
    export interface DynamicPanelGetTabTitleEvent extends DynamicPanelCurrentIndexChangedEvent {
        /**
         * A tab title. You can change this parameter's value.
         */
        title: string;
    }
    export interface IsAnswerCorrectEvent extends QuestionEventMixin {
        /**
         * A Boolean property that specifies whether the answer is correct (`true`) or incorrect (`false`). Use the `options.question.value` and `options.question.correctAnswer` properties to check the answer.
         */
        result: boolean;
        /**
         * Obsolete. Use `options.correctAnswerCount` instead.
         */
        correctAnswers?: number;
        /**
         * Obsolete. Use `options.incorrectAnswerCount` instead.
         */
        incorrectAnswers?: number;
    }
    export interface CheckAnswerCorrectEvent extends IsAnswerCorrectEvent {
        /**
         * The number of correct answers in a matrix where each row is considered as one quiz question.
         */
        correctAnswerCount: number;
        /**
         * The number of incorrect answers in a matrix where each row is considered as one quiz question.
         */
        incorrectAnswerCount: number;
    }
    export interface DragDropAllowEvent {
        /**
         * A survey element being dragged.
         */
        draggedElement: IElement;
        /**
         * A survey element from which `draggedElement` is being dragged. This parameter is `null` if `draggedElement` is being dragged from the [Toolbox](https://surveyjs.io/survey-creator/documentation/toolbox).
         */
        fromElement: IPanel;
        /**
         * A survey element to which `draggedElement` is being dragged.
         */
        toElement: IElement;
        /**
         * A survey element before which the target element will be placed. This parameter is `null` if the parent container (page or panel) has no elements or if the target element will be placed below all other elements within the container.
         */
        insertBefore: IElement;
        /**
         * A survey element after which `draggedElement` will be placed. This parameter is `null` if the parent container (page or panel) has no elements or if `draggedElement` will be placed above all other elements within the container.
         */
        insertAfter: IElement;
        /**
         * A parent container (page or panel) within which `draggedElement` will be placed.
         */
        parent: ISurveyElement;
        /**
         * A Boolean property that you can set to `false` if you want to cancel the drag and drop operation.
         */
        allow: boolean;
        allowDropNextToAnother?: boolean;
        /**
         * Obsolete. Use `options.draggedElement` instead.
         */
        target: IElement;
        /**
         * Obsolete. Use `options.toElement` instead.
         */
        source: IElement;
    }
    export interface ScrollingElementToTopEvent {
        /**
         * A survey element that will be scrolled to the top.
         */
        element: ISurveyElement;
        /**
         * A unique element ID within the DOM.
         */
        elementId: string;
        /**
         * Obsolete. Use `options.allow` instead.
         */
        cancel?: boolean;
        /**
         * Obsolete. Use `options.element` instead.
         */
        question?: Question;
        /**
         * Obsolete. Use `options.element` instead.
         */
        page?: PageModel;
    }
    export interface ScrollToTopEvent extends ScrollingElementToTopEvent {
        /**
         * A Boolean property that you can set to `false` if you want to cancel the scroll operation.
         */
        allow: boolean;
    }
    export interface GetQuestionTitleActionsEvent extends QuestionEventMixin, GetTitleActionsEventMixin {
    }
    export interface GetPanelTitleActionsEvent extends PanelEventMixin, GetTitleActionsEventMixin {
    }
    export interface GetPageTitleActionsEvent extends PageEventMixin, GetTitleActionsEventMixin {
    }
    export interface GetPanelFooterActionsEvent extends GetActionsEventMixin, PanelEventMixin {
        /**
         * A [Dynamic Panel](https://surveyjs.io/form-library/documentation/questionpaneldynamicmodel) to which the Panel belongs. This field is `undefined` if the Panel does not belong to any Dynamic Panel.
         */
        question?: QuestionPanelDynamicModel;
    }
    export interface GetMatrixRowActionsEvent extends QuestionEventMixin, GetActionsEventMixin {
        /**
         * A matrix row for which the event is raised.
         */
        row: MatrixDropdownRowModelBase;
    }
    export interface ElementContentVisibilityChangedEvent {
        /**
         * A survey element that was expanded or collapsed.
         */
        element: ISurveyElement;
    }
    export interface GetQuestionDisplayValueEvent extends QuestionEventMixin {
        /**
         * A question's display text. You can assign a custom value to this parameter.
         */
        displayValue: any;
    }
    export interface GetExpressionDisplayValueEvent extends GetQuestionDisplayValueEvent {
        /**
         * An expression value.
         */
        value: any;
    }
    export interface MultipleTextItemAddedEvent extends QuestionEventMixin {
        /**
         * A new added item.
         */
        item: any;
    }
    export interface MatrixColumnAddedEvent extends QuestionEventMixin {
        /**
         * An added matrix column.
         */
        column: any;
    }
    export interface PopupVisibleChangedEvent extends QuestionEventMixin {
        /**
         * An object that describes the popup.
         */
        popup: PopupModel;
        /**
         * Indicates whether the popup is visible now.
         */
        visible: boolean;
    }
    export interface OpenDropdownMenuEvent extends QuestionEventMixin {
        /**
         * A question for which the event is raised.
         */
        question: Question;
        /**
         * A device type.
         */
        deviceType: "mobile" | "tablet" | "desktop";
        /**
         * A Boolean value that indicates whether the current device supports touch gestures.
         */
        hasTouchScreen: boolean;
        /**
         * The height of the device screen in pixels.
         */
        screenHeight: number;
        /**
         * The width of the device screen in pixels.
         */
        screenWidth: number;
        /**
         * A menu type to use for the question: a classic dropdown, a pop-up dialog, or an overlay window. You can modify this parameter's value.
         */
        menuType: "dropdown" | "popup" | "overlay";
    }
    export interface ElementWrapperComponentEventMixin {
        element: any;
        wrapperName: string;
        reason?: string;
        item?: ItemValue;
    }
    export interface ElementWrapperComponentNameEvent extends ElementWrapperComponentEventMixin {
        componentName: string;
    }
    export interface ElementWrapperComponentDataEvent extends ElementWrapperComponentEventMixin {
        data: any;
    }
    export interface ResizeEvent {
        /**
         * The current survey width in pixels.
         */
        width: number;
        /**
         * The current survey height in pixels.
         */
        height: number;
    }
}
declare module "packages/survey-core/src/drag-drop-page-helper-v1" {
    import { IElement, ISurveyElement } from "packages/survey-core/src/base-interfaces";
    import { PageModel } from "packages/survey-core/src/page";
    export class DragDropPageHelperV1 {
        private page;
        constructor(page: PageModel);
        private dragDropInfo;
        getDragDropInfo(): any;
        dragDropStart(src: IElement, target: IElement, nestedPanelDepth?: number): void;
        dragDropMoveTo(destination: ISurveyElement, isBottom?: boolean, isEdge?: boolean): boolean;
        private correctDragDropInfo;
        private dragDropAllowFromSurvey;
        dragDropFinish(isCancel?: boolean): IElement;
        private dragDropGetElementIndex;
        private dragDropCanDropTagert;
        private dragDropCanDropSource;
        private dragDropCanDropCore;
        private dragDropCanDropNotNext;
        private dragDropIsSameElement;
    }
}
declare module "packages/survey-core/src/page" {
    import { IPage, IPanel, IElement, ISurveyElement, ISurvey } from "packages/survey-core/src/base-interfaces";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    /**
     * The `PageModel` object describes a survey page and contains properties and methods that allow you to control the page and access its elements (panels and questions).
     *
     * [View Demo](https://surveyjs.io/form-library/examples/nps-question/ (linkStyle))
     */
    export class PageModel extends PanelModel implements IPage {
        private hasShownValue;
        private dragDropPageHelper;
        isPageContainer: boolean;
        constructor(name?: string);
        getType(): string;
        toString(): string;
        readonly isPage: boolean;
        readonly isPanel: boolean;
        readonly showPanelAsPage: boolean;
        readonly hasEditButton: boolean;
        protected getElementsForRows(): Array<IElement>;
        protected disposeElements(): void;
        protected onRemoveElement(element: IElement): void;
        getTemplate(): string;
        readonly no: string;
        readonly cssTitleNumber: string;
        getCssTitleExpandableSvg(): string;
        readonly cssRequiredText: string;
        protected canShowPageNumber(): boolean;
        protected canShowTitle(survey: ISurvey): boolean;
        protected setTitleValue(val: string): void;
        /*
        * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
        *
        * If navigation titles are unspecified, the navigation buttons display page [titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title) or [names](https://surveyjs.io/form-library/documentation/pagemodel#name).
        */
        navigationTitle: string;
        /*
        * Explanatory text displayed under a navigation button in the progress bar. Applies when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), `SurveyModel`'s [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
        */
        navigationDescription: string;
        readonly locNavigationDescription: LocalizableString;
        navigationLocStrChanged(): void;
        getMarkdownHtml(text: string, name: string): string;
        passed: boolean;
        protected removeFromParent(): void;
        /*
        * The visible index of the page. It has values from 0 to visible page count - 1.
        * @see SurveyModel.visiblePages
        * @see SurveyModel.pages
        */
        visibleIndex: number;
        protected canRenderFirstRows(): boolean;
        /*
        * Returns `true` if this page is a start page.
        *
        * Refer to the following help topic for more information on how to configure a start page: [Start Page](https://surveyjs.io/form-library/documentation/design-survey-create-a-multi-page-survey#start-page).
        */
        readonly isStartPage: boolean;
        readonly isStarted: boolean;
        protected calcCssClasses(css: any): any;
        protected getCssPanelTitle(): string;
        readonly cssRoot: string;
        protected getCssError(cssClasses: any): string;
        num: number;
        /*
        * Set this property to "hide" to make "Prev", "Next" and "Complete" buttons are invisible for this page. Set this property to "show" to make these buttons visible, even if survey showNavigationButtons property is false.
        * @see SurveyMode.showNavigationButtons
        */
        navigationButtonsVisibility: string;
        /*
        * Returns `true` if this is the current page.
        * @see SurveyModel.currentPage
        */
        readonly isActive: boolean;
        /*
        * Returns `true` if the respondent has already seen this page during the current session.
        */
        readonly wasShown: boolean;
        readonly hasShown: boolean;
        setWasShown(val: boolean): void;
        /**
         * Scrolls this page to the top.
         */
        scrollToTop(): void;
        /**
         * A time period that a respondent has spent on this page so far; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
         * @see timeLimit
         */
        timeSpent: number;
        /**
         * Returns a list of all panels on this page.
         * @param visibleOnly A Boolean value that specifies whether to include only visible panels.
         * @param includingDesignTime For internal use.
         */
        getAllPanels(visibleOnly?: boolean, includingDesignTime?: boolean): Array<IPanel>;
        getPanels(visibleOnly?: boolean, includingDesignTime?: boolean): Array<IPanel>;
        /*
        * A time period that a respondent has to complete this page; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
        *
        * Default value: 0 (time is unlimited)
        *
        * Alternatively, you can use the `SurveyModel`'s [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/surveymodel#timeLimitPerPage) property to specify identical time periods for all survey pages.
        * @see timeSpent
        */
        timeLimit: number;
        /*
        * Obsolete. Use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/page-model#timeLimit) property instead.
        * @deprecated
        */
        maxTimeToFinish: number;
        getMaxTimeToFinish(): number;
        protected onNumChanged(value: number): void;
        protected onVisibleChanged(): void;
        getDragDropInfo(): any;
        dragDropStart(src: IElement, target: IElement, nestedPanelDepth?: number): void;
        dragDropMoveTo(destination: ISurveyElement, isBottom?: boolean, isEdge?: boolean): boolean;
        dragDropFinish(isCancel?: boolean): IElement;
        ensureRowsVisibility(): void;
        private _isReadyForClean;
        isReadyForClean: boolean;
        isReadyForCleanChangedCallback: () => void;
        enableOnElementRerenderedEvent(): void;
        disableOnElementRerenderedEvent(): void;
    }
}
declare module "packages/survey-core/src/dxSurveyService" {
    /**
     * The class contains methods to work with api.surveyjs.io service.
     */
    export class dxSurveyService {
        locale: string;
        static serviceUrl: string;
        loadSurvey(surveyId: string, onLoad: (success: boolean, result: string, response: any) => void): void;
        getSurveyJsonAndIsCompleted(surveyId: string, clientId: string, onLoad: (success: boolean, surveyJson: any, result: string, response: any) => void): void;
        canSendResult(result: JSON): boolean;
        readonly isSurveJSIOService: boolean;
        sendResult(postId: string, result: JSON, onSendResult: (success: boolean, response: any, request?: any) => void, clientId?: string, isPartialCompleted?: boolean): void;
        protected sendResultCore(postId: string, result: JSON, onSendResult: (success: boolean, response: any, request?: any) => void, clientId?: string, isPartialCompleted?: boolean): void;
        sendFile(postId: string, file: File, onSendFile: (success: boolean, response: any) => void): void;
        getResult(resultId: string, name: string, onGetResult: (success: boolean, data: any, dataList: Array<any>, response: any) => void): void;
        isCompleted(resultId: string, clientId: string, onIsCompleted: (success: boolean, result: string, response: any) => void): void;
        private serviceUrl: any;
    }
}
declare module "packages/survey-core/src/surveytimer" {
    import { EventBase } from "packages/survey-core/src/base";
    export var surveyTimerFunctions: {
        setTimeout: (func: () => any) => number;
        clearTimeout: (timerId: number) => void;
        safeTimeOut: (func: () => any, delay: number) => number | any;
        now(): number;
    };
    export interface SurveyTimerEvent {
        seconds: number;
    }
    export class SurveyTimer {
        private static instanceValue;
        static readonly instance: SurveyTimer;
        private listenerCounter;
        private timerId;
        private prevTimeInMs;
        onTimerTick: EventBase<SurveyTimer, SurveyTimerEvent>;
        onTimer: EventBase<SurveyTimer, SurveyTimerEvent>;
        start(func?: (timer: SurveyTimer, options: SurveyTimerEvent) => void): void;
        stop(func?: (timer: SurveyTimer, options: SurveyTimerEvent) => any): void;
        doTimer(): void;
    }
}
declare module "packages/survey-core/src/surveyTimerModel" {
    import { ISurvey } from "packages/survey-core/src/base-interfaces";
    import { Base, EventBase } from "packages/survey-core/src/base";
    import { PageModel } from "packages/survey-core/src/page";
    import { SurveyModel } from "packages/survey-core/src/survey";
    export interface ISurveyTimerText {
        timerInfoText: string;
        timerInfo: {
            spent: number;
            limit?: number;
        };
        timerClock: {
            majorText: string;
            minorText?: string;
        };
        getCss(): any;
        isTimerPanelShowingOnBottom: boolean;
        isTimerPanelShowingOnTop: boolean;
        onCurrentPageChanged: EventBase<SurveyModel>;
    }
    export class SurveyTimerModel extends Base {
        onTimerTick: (page: PageModel) => void;
        private surveyValue;
        constructor(survey: ISurvey);
        text: string;
        progress: number;
        clockMajorText: string;
        clockMinorText: string;
        spent: number;
        readonly survey: ISurveyTimerText;
        onCreating(): void;
        private timerFunc;
        start(): void;
        stop(): void;
        readonly isRunning: boolean;
        private setIsRunning;
        private update;
        private doTimer;
        private updateProgress;
        private updateText;
        readonly showProgress: boolean;
        readonly showTimerAsClock: boolean;
        readonly rootCss: string;
        getProgressCss(): string;
        readonly textContainerCss: string;
        readonly minorTextCss: string;
        readonly majorTextCss: string;
    }
}
declare module "packages/survey-core/src/expressionItems" {
    import { Base } from "packages/survey-core/src/base";
    import { ISurvey } from "packages/survey-core/src/base-interfaces";
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    /**
     * Base class for HtmlConditionItem and UrlConditionItem classes.
     */
    export class ExpressionItem extends Base implements ILocalizableOwner {
        locOwner: ILocalizableOwner;
        constructor(expression?: string);
        getType(): string;
        runCondition(values: any, properties: any): boolean;
        /*
        * The expression property. If this expression returns true, then survey will use html property to show on complete page.
        */
        expression: string;
        readonly locHtml: LocalizableString;
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        getSurvey(isLive?: boolean): ISurvey;
    }
    /**
     * A class that contains expression and html propeties. It uses in survey.completedHtmlOnCondition array.
     * If the expression returns true then html of this item uses instead of survey.completedHtml property
     * @see SurveyModel.completedHtmlOnCondition
     * @see SurveyModel.completedHtml
     */
    export class HtmlConditionItem extends ExpressionItem {
        constructor(expression?: string, html?: string);
        getType(): string;
        /*
        * The html that shows on completed ('Thank you') page. The expression should return true
        * @see expression
        */
        html: string;
        readonly locHtml: LocalizableString;
    }
    /**
     * A class that contains expression and url propeties. It uses in survey.navigateToUrlOnCondition array.
     * If the expression returns true then url of this item uses instead of survey.navigateToUrl property
     * @see SurveyModel.navigateToUrl
     */
    export class UrlConditionItem extends ExpressionItem {
        constructor(expression?: string, url?: string);
        getType(): string;
        /*
        * The url that survey navigates to on completing the survey. The expression should return true
        * @see expression
        */
        url: string;
        readonly locUrl: LocalizableString;
    }
}
declare module "packages/survey-core/src/notifier" {
    import { Base } from "packages/survey-core/src/base";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    import { IAction } from "packages/survey-core/src/actions/action";
    interface INotifierCssClasses {
        root: string;
        rootWithButtons: string;
        info: string;
        error: string;
        success: string;
        button: string;
        shown: string;
    }
    export class Notifier extends Base {
        private cssClasses;
        active: boolean;
        isDisplayed: boolean;
        message: string;
        css: string;
        timeout: number;
        timer: any;
        private actionsVisibility;
        actionBar: ActionContainer;
        showActions: boolean;
        constructor(cssClasses: INotifierCssClasses);
        getCssClass(type: string): string;
        updateActionsVisibility(type: string): void;
        notify(message: string, type?: string, waitUserAction?: boolean): void;
        addAction(action: IAction, notificationType: string): void;
    }
}
declare module "packages/survey-core/src/question_textbase" {
    import { Question } from "packages/survey-core/src/question";
    import { CssClassBuilder } from "packages/survey-core/src/utils/cssClassBuilder";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { Base } from "packages/survey-core/src/base";
    export class CharacterCounter extends Base {
        remainingCharacterCounter: string;
        updateRemainingCharacterCounter(newValue: string, maxLength: number): void;
    }
    /**
     * A base class for the [Single-Line Input](https://surveyjs.io/form-library/documentation/questiontextmodel) and [Long Text](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types.
     */
    export class QuestionTextBase extends Question {
        constructor(name: string);
        protected isTextValue(): boolean;
        /*
        * The maximum text length measured in characters. Assign 0 if the length should be unlimited.
        *
        * Default value: -1 (inherits the actual value from the `SurveyModel`'s [`maxTextLength`](https://surveyjs.io/form-library/documentation/surveymodel#maxTextLength) property).
        */
        maxLength: number;
        getMaxLength(): any;
        characterCounter: CharacterCounter;
        updateRemainingCharacterCounter(newValue: string): void;
        /**
         * A placeholder for the input field.
         */
        placeholder: string;
        placeHolder: string;
        readonly locPlaceHolder: LocalizableString;
        getType(): string;
        isEmpty(): boolean;
        /*
        * Specifies when to update the question value.
        *
        * Possible values:
        *
        * - `"onBlur"` - Updates the value after the input field loses focus.
        * - `"onTyping"` - Updates the value on every key press.
        * - `"default"` (default) - Inherits the value from the `SurveyModel`'s [`textUpdateMode`](https://surveyjs.io/form-library/documentation/surveymodel#textUpdateMode) property.
        *
        * > Do not use the `"onTyping"` mode if your survey contains many expressions. Expressions are reevaluated each time a question value is changed. In `"onTyping"` mode, the question value changes frequently. This may cause performance degradation.
        */
        textUpdateMode: string;
        protected getIsInputTextUpdate(): boolean;
        readonly renderedPlaceholder: string;
        protected onReadOnlyChanged(): void;
        localeChanged(): void;
        protected supportEmptyValidation(): boolean;
        protected resetRenderedPlaceholder(): void;
        protected hasPlaceholder(): boolean;
        protected setNewValue(newValue: any): void;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        protected convertToCorrectValue(val: any): any;
        protected getValueSeparator(): string;
        protected getControlCssClassBuilder(): CssClassBuilder;
        getControlClass(): string;
        readonly isNewA11yStructure: boolean;
        onKeyDownPreprocess: (event: any) => void;
    }
}
declare module "packages/survey-core/src/mask/mask_utils" {
    export var numberDefinition: RegExp;
    export interface IMaskedInputResult {
        value: string;
        caretPosition: number;
        cancelPreventDefault?: boolean;
    }
    export interface ITextInputParams {
        prevValue: string;
        selectionStart: number;
        selectionEnd: number;
        insertedChars: string | null;
        inputDirection?: "forward" | "backward";
    }
    export interface IInputMask {
        getMaskedValue(src: any): string;
        getUnmaskedValue(src: string): any;
        processInput(args: ITextInputParams): IMaskedInputResult;
        getTextAlignment(): "left" | "right" | "auto";
    }
    export function getAvailableMaskTypeChoices(): string[];
}
declare module "packages/survey-core/src/mask/mask_base" {
    import { Base } from "packages/survey-core/src/base";
    import { ISurvey } from "packages/survey-core/src/base-interfaces";
    import { IInputMask, IMaskedInputResult, ITextInputParams } from "packages/survey-core/src/mask/mask_utils";
    /**
     * A base class for classes that implement input masks:
     *
     * - [`InputMaskNumeric`](https://surveyjs.io/form-library/documentation/inputmasknumeric)
     * - [`InputMaskCurrency`](https://surveyjs.io/form-library/documentation/inputmaskcurrency)
     * - [`InputMaskDateTime`](https://surveyjs.io/form-library/documentation/inputmaskdatetime)
     * - [`InputMaskPattern`](https://surveyjs.io/form-library/documentation/inputmaskpattern)
     */
    export class InputMaskBase extends Base implements IInputMask {
        /**
         * Specifies whether to store the question value with an applied mask in survey results.
         *
         * Default value: `false`
         */
        saveMaskedValue: boolean;
        owner: ISurvey;
        getSurvey(live?: boolean): ISurvey;
        getType(): string;
        setData(json: any): void;
        getData(): any;
        processInput(args: ITextInputParams): IMaskedInputResult;
        getUnmaskedValue(src: string): any;
        getMaskedValue(src: any): string;
        getTextAlignment(): "left" | "right" | "auto";
        getTypeForExpressions(): string;
    }
}
declare module "packages/survey-core/src/mask/input_element_adapter" {
    import { InputMaskBase } from "packages/survey-core/src/mask/mask_base";
    import { ITextInputParams } from "packages/survey-core/src/mask/mask_utils";
    export class InputElementAdapter {
        private inputMaskInstance;
        private inputElement;
        private prevUnmaskedValue;
        private setInputValue;
        constructor(inputMaskInstance: InputMaskBase, inputElement: HTMLInputElement, value?: any);
        inputMaskInstancePropertyChangedHandler: (sender: any, options: any) => void;
        clickHandler: (event: any) => void;
        beforeInputHandler: (event: any) => void;
        changeHandler: (event: any) => void;
        createArgs(event: any): ITextInputParams;
        addInputEventListener(): void;
        removeInputEventListener(): void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/question_text" {
    import { LocalizableString, LocalizableStrings } from "packages/survey-core/src/localizablestring";
    import { HashTable } from "packages/survey-core/src/helpers";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { QuestionTextBase } from "packages/survey-core/src/question_textbase";
    import { CssClassBuilder } from "packages/survey-core/src/utils/cssClassBuilder";
    import { InputMaskBase } from "packages/survey-core/src/mask/mask_base";
    import { IInputMask } from "packages/survey-core/src/mask/mask_utils";
    /**
     * A class that describes the Single-Line Input question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-text/ (linkStyle))
     */
    export class QuestionTextModel extends QuestionTextBase {
        private locDataListValue;
        private minValueRunner;
        private maxValueRunner;
        private maskInputAdapter;
        private createMaskAdapter;
        private deleteMaskAdapter;
        private updateMaskAdapter;
        onSetMaskType(newValue: string): void;
        /**
         * Specifies the type of a mask applied to the input.
         *
         * Possible values:
         *
         * - `"none"` (default)
         * - `"numeric"`
         * - `"currency"`
         * - `"datetime"`
         * - `"pattern"`
         *
         * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
         * @see maskSettings
         */
        maskType: string;
        /**
         * Specifies text alignment within the input field.
         *
         * Possible values:
         *
         * - `"left"` - Aligns input text to the left side.
         * - `"right"` - Aligns input text to the right side.
         * - `"auto"` (default) - Applies right alignment if a [numeric or currency input mask](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType) is specified. Otherwise, applies left alignment.
         */
        inputTextAlignment: "left" | "right" | "auto";
        readonly maskTypeIsEmpty: boolean;
        /*
        * An object with properties that configure the mask applied to the input.
        *
        * Available properties depend on the specified [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType) and belong to corresponding classes. Refer to the class APIs for a full list of properties:
        *
        * | `maskType` | Class |
        * | ---------- | ----- |
        * | `"numeric"` | [`InputMaskNumeric`](https://surveyjs.io/form-library/documentation/api-reference/inputmasknumeric) |
        * | `"currency"` | [`InputMaskCurrency`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskcurrency) |
        * | `"datetime"` | [`InputMaskDateTime`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskdatetime) |
        * | `"pattern"` | [`InputMaskPattern`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern) |
        *
        * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
        */
        maskSettings: InputMaskBase;
        private setNewMaskSettingsProperty;
        protected createMaskSettings(): InputMaskBase;
        constructor(name: string);
        protected isTextValue(): boolean;
        getType(): string;
        onSurveyLoad(): void;
        /*
        * A value passed on to the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types) attribute of the underlying `<input>` element.
        *
        * Default value: `"text"`
        */
        inputType: string;
        getMaxLength(): any;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        isLayoutTypeSupported(layoutType: string): boolean;
        /*
        * A value passed on to the [`size`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size) attribute of the underlying `<input>` element.
        */
        size: number;
        readonly isTextInput: boolean;
        readonly inputSize: number;
        readonly renderedInputSize: number;
        readonly inputWidth: string;
        updateInputSize(): void;
        /*
        * A value passed on to the [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) attribute of the underlying `<input>` element.
        */
        autocomplete: string;
        /*
        * A value passed on to the [`min`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/min) attribute of the underlying `<input>` element.
        * @see minValueExpression
        */
        min: string;
        /*
        * A value passed on to the [`max`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/max) attribute of the underlying `<input>` element.
        * @see maxValueExpression
        */
        max: string;
        /*
        * The minimum value specified as an expression. For example, `"minValueExpression": "today(-1)"` sets the minimum value to yesterday.
        * @see min
        */
        minValueExpression: string;
        /*
        * The maximum value specified as an expression. For example, `"maxValueExpression": "today(1)"` sets the maximum value to tomorrow.
        * @see max
        */
        maxValueExpression: string;
        readonly renderedMin: any;
        readonly renderedMax: any;
        /*
        * An error message to display when the question value is less than the minimum accepted value.
        * @see min
        * @see minValueExpression
        */
        minErrorText: string;
        readonly locMinErrorText: LocalizableString;
        /*
        * An error message to display when the question value exceeds the maximum accepted value.
        * @see max
        * @see maxValueExpression
        */
        maxErrorText: string;
        readonly locMaxErrorText: LocalizableString;
        /*
        * Returns `true` if the specified `inputType` supports the `min` and `max` properties.
        * @see inputType
        * @see min
        * @see max
        */
        readonly isMinMaxType: boolean;
        _inputValue: string;
        readonly maskInstance: IInputMask;
        inputValue: string;
        getExpressionValue(val: any): any;
        protected convertToCorrectValue(val: any): any;
        protected onChangeQuestionValue(newValue: any): void;
        private updateInputValue;
        private hasToConvertToUTC;
        private createDate;
        protected valueForSurveyCore(val: any): any;
        protected valueFromDataCore(val: any): any;
        private dateValidationMessage;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        protected canSetValueToSurvey(): boolean;
        protected convertFuncValuetoQuestionValue(val: any): any;
        private getMinMaxErrorText;
        private readonly isValueLessMin: any;
        private readonly isValueGreaterMax: any;
        private readonly isDateInputType: any;
        private isDateTimeLocaleType;
        private getCalculatedMinMax;
        private setRenderedMinMax;
        /*
        * A value passed on to the [`step`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/step) attribute of the underlying `<input>` element.
        */
        step: string;
        readonly renderedStep: string;
        protected getIsInputTextUpdate(): boolean;
        supportGoNextPageAutomatic(): boolean;
        supportGoNextPageError(): boolean;
        /*
        * An array of predefined options from which users can select. This property configures an HTML [`<datalist>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist) element and associates it with the underlying `input` element.
        */
        dataList: Array<string>;
        readonly locDataList: LocalizableStrings;
        readonly dataListId: string;
        protected setNewValue(newValue: any): void;
        protected correctValueType(newValue: any): any;
        protected hasPlaceholder(): boolean;
        protected getControlCssClassBuilder(): CssClassBuilder;
        isReadOnlyRenderDiv(): boolean;
        readonly inputStyle: any;
        private updateTextAlign;
        private _isWaitingForEnter;
        private updateValueOnEvent;
        onCompositionUpdate: (event: any) => void;
        onKeyUp: (event: any) => void;
        private updateDateValidationMessage;
        readOnlyBlocker: (event: any) => boolean;
        onKeyDown: (event: any) => void;
        onChange: (event: any) => void;
        protected onBlurCore(event: any): void;
        protected onFocusCore(event: any): void;
        afterRenderQuestionElement(el: HTMLElement): void;
        beforeDestroyQuestionElement(el: HTMLElement): void;
    }
    export function isMinMaxType(obj: any): boolean;
}
declare module "packages/survey-core/src/question_multipletext" {
    import { Base } from "packages/survey-core/src/base";
    import { ISurveyData, ISurveyImpl, ISurvey, IPanel, IElement, IQuestion, ITextProcessor, IProgressInfo } from "packages/survey-core/src/base-interfaces";
    import { SurveyValidator, IValidatorOwner } from "packages/survey-core/src/validator";
    import { Question, IConditionObject } from "packages/survey-core/src/question";
    import { QuestionTextModel } from "packages/survey-core/src/question_text";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { HashTable } from "packages/survey-core/src/helpers";
    import { InputMaskBase } from "packages/survey-core/src/mask/mask_base";
    import { PanelLayoutColumnModel } from "packages/survey-core/src/panel-layout-column";
    export interface IMultipleTextData extends ILocalizableOwner, IPanel {
        getSurvey(): ISurvey;
        getTextProcessor(): ITextProcessor;
        getAllValues(): any;
        getMultipleTextValue(name: string): any;
        setMultipleTextValue(name: string, value: any): any;
        getItemDefaultValue(name: string): any;
        getIsRequiredText(): string;
    }
    export class MultipleTextEditorModel extends QuestionTextModel {
        readonly a11y_input_ariaLabel: string;
        readonly a11y_input_ariaLabelledBy: string;
        readonly a11y_input_ariaDescribedBy: string;
    }
    /**
     * A class that describes an [item](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model#items) in a Multiple Textboxes question.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/multiple-text-box-question/ (linkStyle))
     */
    export class MultipleTextItemModel extends Base implements IValidatorOwner, ISurveyData, ISurveyImpl {
        private editorValue;
        private data;
        valueChangedCallback: (newValue: any) => void;
        constructor(name?: any, title?: string);
        getType(): string;
        readonly id: string;
        getOriginalObj(): Base;
        /*
        * An item ID that is not visible to respondents.
        *
        * > Item IDs must be unique.
        * @see title
        */
        name: string;
        readonly question: Question;
        readonly editor: MultipleTextEditorModel;
        protected createEditor(name: string): MultipleTextEditorModel;
        addUsedLocales(locales: Array<string>): void;
        localeChanged(): void;
        locStrsChanged(): void;
        setData(data: IMultipleTextData): void;
        focusIn: () => void;
        /*
        * Marks the item as required. If a respondent leaves this item empty, the question displays a [validation error](#requiredErrorText).
        */
        isRequired: boolean;
        /*
        * A value passed on to the [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types) attribute of the underlying `<input>` element.
        *
        * Default value: `"text"`
        */
        inputType: string;
        /*
        * A user-friendly item label to display. If `title` is undefined, [`name`](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel#name) is displayed instead.
        */
        title: string;
        readonly locTitle: LocalizableString;
        readonly fullTitle: string;
        /*
        * The maximum text length measured in characters. Assign 0 if the length should be unlimited.
        *
        * Default value: -1 (inherits the actual value from the `SurveyModel`'s [`maxTextLength`](https://surveyjs.io/form-library/documentation/surveymodel#maxTextLength) property).
        */
        maxLength: number;
        getMaxLength(): any;
        /*
        * A placeholder for the input field.
        */
        placeholder: string;
        readonly locPlaceholder: LocalizableString;
        placeHolder: string;
        readonly locPlaceHolder: LocalizableString;
        /*
        * Specifies a custom error message for a [required item](#isRequired).
        */
        requiredErrorText: string;
        readonly locRequiredErrorText: LocalizableString;
        /*
        * A value passed on to the [`size`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size) attribute of the underlying `<input>` element.
        *
        * If you want to set a uniform `size` for all text box items, use the [`itemSize`](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model#itemSize) within the Multiple Textboxes configuration.
        */
        size: number;
        /*
        * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the default item value.
        * @see minValueExpression
        * @see maxValueExpression
        */
        defaultValueExpression: string;
        /*
        * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the minimum item value.
        * @see maxValueExpression
        * @see defaultValueExpression
        */
        minValueExpression: string;
        /*
        * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the maximum item value.
        * @see minValueExpression
        * @see defaultValueExpression
        */
        maxValueExpression: string;
        /*
        * Item validators.
        *
        * [Data Validation](https://surveyjs.io/form-library/documentation/data-validation (linkStyle))
        */
        validators: Array<SurveyValidator>;
        getValidators(): Array<SurveyValidator>;
        /*
        * Specifies the type of a mask applied to the input.
        *
        * Possible values:
        *
        * - `"none"` (default)
        * - `"numeric"`
        * - `"currency"`
        * - `"datetime"`
        * - `"pattern"`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
        * @see maskSettings
        */
        maskType: string;
        /*
        * An object with properties that configure the mask applied to the input.
        *
        * Available properties depend on the specified [`maskType`](#maskType) and belong to corresponding classes. Refer to the class APIs for a full list of properties:
        *
        * | `maskType` | Class |
        * | ---------- | ----- |
        * | `"numeric"` | [`InputMaskNumeric`](https://surveyjs.io/form-library/documentation/api-reference/inputmasknumeric) |
        * | `"currency"` | [`InputMaskCurrency`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskcurrency) |
        * | `"datetime"` | [`InputMaskDateTime`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskdatetime) |
        * | `"pattern"` | [`InputMaskPattern`](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern) |
        *
        * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
        */
        maskSettings: InputMaskBase;
        /*
        * Specifies text alignment within the input field.
        *
        * Possible values:
        *
        * - `"left"` - Aligns input text to the left side.
        * - `"right"` - Aligns input text to the right side.
        * - `"auto"` (default) - Applies right alignment if a [numeric or currency input mask](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel#maskType) is specified. Otherwise, applies left alignment.
        */
        inputTextAlignment: "left" | "right" | "auto";
        /*
        * An item value.
        */
        value: any;
        isEmpty(): boolean;
        onValueChanged(newValue: any): void;
        getSurveyData(): ISurveyData;
        getSurvey(): ISurvey;
        getTextProcessor(): ITextProcessor;
        getValue(name: string): any;
        setValue(name: string, value: any): void;
        getVariable(name: string): any;
        setVariable(name: string, newValue: any): void;
        getComment(name: string): string;
        setComment(name: string, newValue: string): void;
        getAllValues(): any;
        getFilteredValues(): any;
        getFilteredProperties(): any;
        findQuestionByName(name: string): IQuestion;
        getEditingSurveyElement(): Base;
        getValidatorTitle(): string;
        validatedValue: any;
        getDataFilteredValues(): any;
        getDataFilteredProperties(): any;
    }
    /**
     * A class that describes the Multiple Text question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-multipletext/ (linkStyle))
     */
    export class QuestionMultipleTextModel extends Question implements IMultipleTextData, IPanel {
        static addDefaultItems(question: QuestionMultipleTextModel): void;
        constructor(name: string);
        getType(): string;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        readonly isAllowTitleLeft: boolean;
        readonly hasSingleInput: boolean;
        readonly isContainer: boolean;
        id: string;
        onSurveyLoad(): void;
        setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        onSurveyValueChanged(newValue: any): void;
        private updateItemsSize;
        private editorsOnSurveyLoad;
        private performForEveryEditor;
        /*
        * Gets or sets an array of [`MultipleTextItemModel`](https://surveyjs.io/form-library/documentation/api-reference/multipletextitemmodel) objects that represent input items.
        *
        * Each object in this array should have at least the following properties:
        *
        * ```js
        * {
        *   "name": any, // A unique value used to identify an input item and save an item value to survey results.
        *   "title": String // An item caption. When `title` is undefined, `name` is used. This property supports Markdown.
        * }
        * ```
        *
        * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
        * @see itemTitleWidth
        * @see addItem
        */
        items: Array<MultipleTextItemModel>;
        /**
         * Adds a new input item.
         * @param name An item name.
         * @param title *(Optional)* An item title.
         * @see items
         */
        addItem(name: string, title?: string): MultipleTextItemModel;
        getItemByName(name: string): MultipleTextItemModel;
        getElementsInDesign(includeHidden?: boolean): Array<IElement>;
        addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
        protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean, includeItSelf: boolean): void;
        getConditionJson(operator?: string, path?: string): any;
        locStrsChanged(): void;
        localeChanged(): void;
        /*
        * Specifies the error message position relative to individual input fields.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
        * - `"top"` - Displays error messages above input fields.
        * - `"bottom"` - Displays error messages below input fields.
        */
        itemErrorLocation: string;
        getQuestionErrorLocation(): string;
        readonly showItemErrorOnTop: boolean;
        readonly showItemErrorOnBottom: boolean;
        getChildErrorLocation(child: Question): string;
        protected isNewValueCorrect(val: any): boolean;
        supportGoNextPageAutomatic(): boolean;
        /*
        * The number of columns used to arrange input items. Accepts the following values: 1, 2, 3, 4, 5.
        *
        * Default value: 1
        */
        colCount: number;
        /*
        * A value passed on to the [`size`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/size) attribute of the underlying `<input>` elements.
        */
        itemSize: number;
        /*
        * Specifies a uniform width for all text box titles. Accepts CSS values.
        *
        * Default value: `""` (the width of each title depends on the title length)
        * @see items
        * @see itemErrorLocation
        */
        itemTitleWidth: string;
        rows: Array<MutlipleTextRow>;
        protected onRowCreated(row: MutlipleTextRow): MutlipleTextRow;
        private calcVisibleRows;
        getRows(): Array<any>;
        private isMultipleItemValueChanging;
        protected onValueChanged(): void;
        protected createTextItem(name: string, title: string): MultipleTextItemModel;
        protected onItemValueChanged(): void;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected getIsRunningValidators(): boolean;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        getAllErrors(): Array<SurveyError>;
        clearErrors(): void;
        protected getContainsErrors(): boolean;
        protected getIsAnswered(): boolean;
        getProgressInfo(): IProgressInfo;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        protected allowMobileInDesignMode(): boolean;
        getMultipleTextValue(name: string): any;
        setMultipleTextValue(name: string, value: any): void;
        getItemDefaultValue(name: string): any;
        getTextProcessor(): ITextProcessor;
        getAllValues(): any;
        getIsRequiredText(): string;
        addElement(element: IElement, index: number): void;
        removeElement(element: IElement): boolean;
        getQuestionTitleLocation(): string;
        getQuestionTitleWidth(): string;
        getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
        updateColumns(): void;
        getQuestionStartIndex(): string;
        getChildrenLayoutType(): string;
        elementWidthChanged(el: IElement): void;
        readonly elements: Array<IElement>;
        indexOf(el: IElement): number;
        ensureRowsVisibility(): void;
        validateContainerOnly(): void;
        onQuestionValueChanged(el: IElement): void;
        getItemLabelCss(item: MultipleTextItemModel): string;
        getItemCss(): string;
        getItemTitleCss(): string;
    }
    export class MutlipleTextRow extends Base {
        isVisible: boolean;
        cells: Array<MultipleTextCell>;
    }
    export class MutlipleTextErrorRow extends MutlipleTextRow {
        onAfterCreated(): void;
    }
    export class MultipleTextCell {
        item: MultipleTextItemModel;
        protected question: QuestionMultipleTextModel;
        constructor(item: MultipleTextItemModel, question: QuestionMultipleTextModel);
        isErrorsCell: boolean;
        protected getClassName(): string;
        readonly className: string;
    }
    export class MultipleTextErrorCell extends MultipleTextCell {
        isErrorsCell: boolean;
        protected getClassName(): string;
    }
}
declare module "packages/survey-core/src/header" {
    import { Base, ArrayChanges } from "packages/survey-core/src/base";
    import { HorizontalAlignment, VerticalAlignment } from "packages/survey-core/src/base-interfaces";
    import { SurveyModel } from "packages/survey-core/src/survey";
    import { ITheme } from "packages/survey-core/src/themes";
    export class CoverCell {
        private cover;
        private positionX;
        private positionY;
        static CLASSNAME: string;
        private calcRow;
        private calcColumn;
        private calcAlignItems;
        private calcAlignText;
        private calcJustifyContent;
        constructor(cover: Cover, positionX: HorizontalAlignment, positionY: VerticalAlignment);
        readonly survey: SurveyModel;
        readonly css: string;
        readonly style: any;
        readonly contentStyle: any;
        readonly showLogo: boolean;
        readonly showTitle: boolean;
        readonly showDescription: boolean;
        readonly textAreaWidth: string;
    }
    export class Cover extends Base {
        private _survey;
        private calcBackgroundSize;
        private updateHeaderClasses;
        private updateContentClasses;
        private updateBackgroundImageClasses;
        fromTheme(theme: ITheme): void;
        private init;
        constructor();
        getType(): string;
        cells: CoverCell[];
        actualHeight: number;
        height: number;
        mobileHeight: number;
        inheritWidthFrom: "survey" | "container";
        textAreaWidth: number;
        textGlowEnabled: boolean;
        overlapEnabled: boolean;
        backgroundColor: string;
        titleColor: string;
        descriptionColor: string;
        backgroundImage: string;
        renderBackgroundImage: string;
        backgroundImageFit: "cover" | "fill" | "contain" | "tile";
        backgroundImageOpacity: number;
        logoPositionX: HorizontalAlignment;
        logoPositionY: VerticalAlignment;
        titlePositionX: HorizontalAlignment;
        titlePositionY: VerticalAlignment;
        descriptionPositionX: HorizontalAlignment;
        descriptionPositionY: VerticalAlignment;
        logoStyle: {
            gridColumn: number;
            gridRow: number;
        };
        titleStyle: {
            gridColumn: number;
            gridRow: number;
        };
        descriptionStyle: {
            gridColumn: number;
            gridRow: number;
        };
        headerClasses: string;
        contentClasses: string;
        maxWidth: string;
        backgroundImageClasses: string;
        readonly renderedHeight: string;
        readonly renderedtextAreaWidth: string;
        survey: SurveyModel;
        readonly backgroundImageStyle: {
            opacity: number;
            backgroundImage: string;
            backgroundSize: string;
        };
        protected propertyValueChanged(name: string, oldValue: any, newValue: any, arrayChanges?: ArrayChanges, target?: Base): void;
        calculateActualHeight(logoHeight: number, titleHeight: number, descriptionHeight: number): number;
        processResponsiveness(width: number): void;
        readonly hasBackground: boolean;
    }
}
declare module "packages/survey-core/src/surveyTaskManager" {
    import { Base } from "packages/survey-core/src/base";
    class SurveyTaskModel {
        type: string;
        private timestamp;
        constructor(type: string);
    }
    export class SurveyTaskManagerModel extends Base {
        private taskList;
        constructor();
        private onAllTasksCompleted;
        hasActiveTasks: boolean;
        runTask(type: string, func: (done: any) => void): SurveyTaskModel;
        waitAndExecute(action: any): void;
        private taskFinished;
    }
}
declare module "packages/survey-core/src/progress-buttons" {
    import { Base, EventBase } from "packages/survey-core/src/base";
    import { PageModel } from "packages/survey-core/src/page";
    import { SurveyModel } from "packages/survey-core/src/survey";
    export class ProgressButtons extends Base {
        survey: SurveyModel;
        constructor(survey: SurveyModel);
        isListElementClickable(index: number | any): boolean;
        getRootCss(container?: string): string;
        getListElementCss(index: number | any): string;
        getScrollButtonCss(hasScroller: boolean, isLeftScroll: boolean): string;
        clickListElement(element: number | PageModel): void;
        isListContainerHasScroller(element: HTMLElement): boolean;
        isCanShowItemTitles(element: HTMLElement): boolean;
        clearConnectorsWidth(element: HTMLElement): void;
        adjustConnectors(element: HTMLElement): void;
        readonly isFitToSurveyWidth: boolean;
        readonly progressWidth: string;
        readonly showItemNumbers: boolean;
        readonly showItemTitles: boolean;
        getItemNumber(page: PageModel): string;
        readonly headerText: string;
        readonly footerText: string;
        onResize: EventBase<ProgressButtons, any>;
        processResponsiveness(width: number): void;
    }
    export interface IProgressButtonsViewModel {
        container: string;
        onResize(canShowItemTitles: boolean): void;
        onUpdateScroller(hasScroller: boolean): void;
        onUpdateSettings(): void;
    }
    export class ProgressButtonsResponsivityManager {
        private model;
        private element;
        private viewModel;
        private criticalProperties;
        private timer;
        private prevWidth;
        private canShowItemTitles;
        constructor(model: ProgressButtons, element: HTMLElement, viewModel: IProgressButtonsViewModel);
        private forceUpdate;
        private processResponsiveness;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/surveyToc" {
    import { Action } from "packages/survey-core/src/actions/action";
    import { ListModel } from "packages/survey-core/src/list";
    import { PanelModelBase } from "packages/survey-core/src/panel";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { SurveyModel } from "packages/survey-core/src/survey";
    export function tryFocusPage(survey: SurveyModel, panel: PanelModelBase): boolean;
    export function createTOCListModel(survey: SurveyModel, onAction?: () => void): ListModel<Action>;
    export function getTocRootCss(survey: SurveyModel, isMobile?: boolean): string;
    export class TOCModel {
        survey: SurveyModel;
        static RootStyle: string;
        static StickyPosition: boolean;
        constructor(survey: SurveyModel);
        private initStickyTOCSubscriptions;
        updateStickyTOCSize(rootElement: HTMLElement): void;
        readonly isMobile: boolean;
        readonly containerCss: string;
        listModel: ListModel<Action>;
        popupModel: PopupModel;
        icon: string;
        togglePopup: () => void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/survey" {
    import { JsonError } from "packages/survey-core/src/jsonobject";
    import { Base, EventBase } from "packages/survey-core/src/base";
    import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions, IDropdownMenuOptions, ITextProcessorProp, ITextProcessorResult } from "packages/survey-core/src/base-interfaces";
    import { SurveyElementCore } from "packages/survey-core/src/survey-element";
    import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "packages/survey-core/src/trigger";
    import { CalculatedValue } from "packages/survey-core/src/calculatedValue";
    import { PageModel } from "packages/survey-core/src/page";
    import { dxSurveyService } from "packages/survey-core/src/dxSurveyService";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { SurveyTimerModel, ISurveyTimerText } from "packages/survey-core/src/surveyTimerModel";
    import { IQuestionPlainData, Question } from "packages/survey-core/src/question";
    import { QuestionSelectBase } from "packages/survey-core/src/question_baseselect";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { PanelModel, QuestionRowModel } from "packages/survey-core/src/panel";
    import { HtmlConditionItem, UrlConditionItem } from "packages/survey-core/src/expressionItems";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { IAction, Action } from "packages/survey-core/src/actions/action";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    import { QuestionPanelDynamicModel } from "packages/survey-core/src/question_paneldynamic";
    import { Notifier } from "packages/survey-core/src/notifier";
    import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNumberEvent, GetPageNumberEvent, GetPanelNumberEvent, GetProgressTextEvent, TextMarkdownEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, DynamicPanelItemValueChangedEvent, DynamicPanelValueChangingEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, CheckAnswerCorrectEvent, DragDropAllowEvent, ScrollToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent, OpenDropdownMenuEvent, ResizeEvent, ProgressTextEvent, ScrollingElementToTopEvent, IsAnswerCorrectEvent } from "packages/survey-core/src/survey-events-api";
    import { QuestionMatrixDropdownModelBase } from "packages/survey-core/src/question_matrixdropdownbase";
    import { QuestionMatrixDynamicModel } from "packages/survey-core/src/question_matrixdynamic";
    import { QuestionFileModel } from "packages/survey-core/src/question_file";
    import { QuestionMultipleTextModel } from "packages/survey-core/src/question_multipletext";
    import { ITheme, ImageFit, ImageAttachment } from "packages/survey-core/src/themes";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { Cover } from "packages/survey-core/src/header";
    import { QuestionSignaturePadModel } from "packages/survey-core/src/question_signaturepad";
    /**
     * The `SurveyModel` object contains properties and methods that allow you to control the survey and access its elements.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/nps-question/ (linkStyle))
     */
    export class SurveyModel extends SurveyElementCore implements ISurvey, ISurveyData, ISurveyImpl, ISurveyTriggerOwner, ISurveyErrorOwner, ISurveyTimerText {
        static readonly TemplateRendererComponentName: string;
        [index: string]: any;
        static platform: string;
        readonly platformName: string;
        notifier: Notifier;
        rootElement: HTMLElement;
        /*
        * A suffix added to the name of the property that stores comments.
        *
        * Default value: "-Comment"
        *
        * Many question types allow respondents to leave comments. To enable this functionality, set a question's [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#showCommentArea) property to `true`. Comment values are saved in a separate property. The property name is composed of the question `name` and `commentSuffix`.
        *
        * Respondents can also leave comments when they select "Other" in choice-based questions, such as Dropdown or Checkboxes. The property name for the comment value is composed according to the same rules. However, you can use the question `name` as a key to store the comment value instead. Disable the [`storeOthersAsComment`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#storeOthersAsComment) property in this case.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/create-checkboxes-question-in-javascript/ (linkStyle))
        */
        commentSuffix: string;
        commentPrefix: string;
        private valuesHash;
        private variablesHash;
        private editingObjValue;
        private timerModelValue;
        private navigationBarValue;
        /**
         * An event that is raised after a [trigger](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers) is executed.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
         * @see triggers
         * @see runTriggers
         */
        onTriggerExecuted: EventBase<SurveyModel, TriggerExecutedEvent>;
        /**
         * An event that is raised before the survey is completed. Use this event to prevent survey completion.
         * @see onComplete
         * @see doComplete
         * @see allowCompleteSurveyAutomatic
         */
        onCompleting: EventBase<SurveyModel, CompletingEvent>;
        /**
         * An event that is raised after the survey is completed. Use this event to send survey results to the server.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * For an example of how to use the methods described above, refer to the following help topic: [Store Survey Results in Your Own Database](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-your-own-database).
         *
         * > Do not disable the [`showCompletedPage`](https://surveyjs.io/form-library/documentation/surveymodel#showCompletedPage) property if you call one of the `options.showSave...` methods. This is required because the UI that indicates data saving progress is integrated into the complete page. If you hide the complete page, the UI also becomes invisible.
         * @see onPartialSend
         * @see doComplete
         * @see allowCompleteSurveyAutomatic
         */
        onComplete: EventBase<SurveyModel, CompleteEvent>;
        /**
         * An event that is raised before the survey displays a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page). Use this event to cancel the preview.
         * @see showPreviewBeforeComplete
         * @see showPreview
         * @see cancelPreview
         */
        onShowingPreview: EventBase<SurveyModel, ShowingPreviewEvent>;
        /**
         * An event that is raised before the survey navigates to a specified URL. Use this event to change the URL or cancel the navigation.
         * @see navigateToUrl
         * @see navigateToUrlOnCondition
         */
        onNavigateToUrl: EventBase<SurveyModel, NavigateToUrlEvent>;
        /**
         * An event that is raised when the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) changes to `"running"`.
         * @see firstPageIsStarted
         */
        onStarted: EventBase<SurveyModel, {}>;
        /**
         * An event that is raised to save incomplete survey results. Enable the [`sendResultOnPageNext`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResultOnPageNext) property for this event to occur.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * Alternatively, you can handle the [`onCurrentPageChanged`](#onCurrentPageChanged) and [`onValueChanged`](#onValueChanged) events, as shown in the following demo: [Continue an Incomplete Survey](https://surveyjs.io/form-library/examples/survey-editprevious/).
         */
        onPartialSend: EventBase<SurveyModel, {}>;
        /**
         * An event that is raised before the current page is switched.
         *
         * @see currentPageNo
         * @see nextPage
         * @see prevPage
         **/
        onCurrentPageChanging: EventBase<SurveyModel, CurrentPageChangingEvent>;
        /**
         * An event that is raised after the current page is switched.
         *
         * @see currentPageNo
         * @see nextPage
         * @see prevPage
         */
        onCurrentPageChanged: EventBase<SurveyModel, CurrentPageChangedEvent>;
        /**
         * An event that is raised before a question value is changed.
         * @see setValue
         */
        onValueChanging: EventBase<SurveyModel, ValueChangingEvent>;
        /**
         * An event that is raised after a question value is changed.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * To handle value changes in matrix cells or panels within a [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), use the [`onMatrixCellValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixCellValueChanged) or [`onDynamicPanelValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelValueChanged) event.
         * @see setValue
         */
        onValueChanged: EventBase<SurveyModel, ValueChangedEvent>;
        /**
         * An event that is raised after a [variable](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables) or [calculated value](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#calculated-values) is changed.
         *
         * @see setVariable
         * @see calculatedValues
         */
        onVariableChanged: EventBase<SurveyModel, VariableChangedEvent>;
        /**
         * An event that is raised after question visibility is changed.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * Refer to the following help topic for information on how to implement conditional visibility: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility).
         */
        onQuestionVisibleChanged: EventBase<SurveyModel, QuestionVisibleChangedEvent>;
        onVisibleChanged: EventBase<SurveyModel, any>;
        /**
         * An event that is raised after page visibility is changed.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * Refer to the following help topic for information on how to implement conditional visibility: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility).
         */
        onPageVisibleChanged: EventBase<SurveyModel, PageVisibleChangedEvent>;
        /**
         * An event that is raised after panel visibility is changed.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * Refer to the following help topic for information on how to implement conditional visibility: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility).
         */
        onPanelVisibleChanged: EventBase<SurveyModel, PanelVisibleChangedEvent>;
        /**
         * An event that is raised when the survey creates any new object derived from [`Question`](https://surveyjs.io/form-library/documentation/api-reference/question).
         *
         * In a survey, complex elements ([Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/), [Multiple Text](https://surveyjs.io/form-library/examples/questiontype-multipletext/), and [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/)) are composed of questions. Use this event to customize any question regardless of which survey element it belongs to.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * To use this event for questions loaded from JSON, create an empty survey model, add an event handler, and only then populate the model from the JSON object:
         *
         * ```js
         * import { Model } from "survey-core";
         *
         * const surveyJson = {
         *    // ...
         * };
         * // Create an empty model
         * const survey = new Model();
         * // Add an event handler
         * survey.onQuestionCreated.add((sender, options) => {
         *   //...
         * });
         * // Load the survey JSON schema
         * survey.fromJSON(surveyJson);
         * ```
         * @see onQuestionAdded
         */
        onQuestionCreated: EventBase<SurveyModel, QuestionCreatedEvent>;
        /**
         * An event that is raised when a new question is added to a panel or page.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * To use this event for questions loaded from JSON, create an empty survey model, add an event handler, and only then populate the model from the JSON object:
         *
         * ```js
         * import { Model } from "survey-core";
         *
         * const surveyJson = {
         *    // ...
         * };
         * // Create an empty model
         * const survey = new Model();
         * // Add an event handler
         * survey.onQuestionAdded.add((sender, options) => {
         *   //...
         * });
         * // Load the survey JSON schema
         * survey.fromJSON(surveyJson);
         * ```
         * @see onQuestionCreated
         */
        onQuestionAdded: EventBase<SurveyModel, QuestionAddedEvent>;
        /**
         * An event that is raised after a question is deleted from the survey.
         */
        onQuestionRemoved: EventBase<SurveyModel, QuestionRemovedEvent>;
        /**
         * An event that is raised when a new panel is added to a page.
         */
        onPanelAdded: EventBase<SurveyModel, PanelAddedEvent>;
        /**
         * An event that is raised after a panel is deleted from the survey.
         */
        onPanelRemoved: EventBase<SurveyModel, PanelRemovedEvent>;
        /**
         * An event that is raised when a new page is added to the survey.
         * @see PanelModel
         */
        onPageAdded: EventBase<SurveyModel, PageAddedEvent>;
        /**
         * An event that is raised when a question value is being validated. Use this event to specify a custom error message.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-input-validation/ (linkStyle))
         * @see onServerValidateQuestions
         * @see onValidatePanel
         * @see onMatrixCellValidate
         * @see onSettingQuestionErrors
         */
        onValidateQuestion: EventBase<SurveyModel, ValidateQuestionEvent>;
        /**
         * An event that is raised before errors are assigned to a question. Use this event to add/remove/modify errors.
         * @see onValidateQuestion
         */
        onSettingQuestionErrors: EventBase<SurveyModel, SettingQuestionErrorsEvent>;
        /**
         * Use this event to validate data on your server.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/javascript-server-side-form-validation/ (linkStyle))
         * @see onValidateQuestion
         * @see onValidatePanel
         * @see isValidatingOnServer
         */
        onServerValidateQuestions: EventBase<SurveyModel, ServerValidateQuestionsEvent>;
        /**
         * An event that is raised when a panel is being validated. Use this event to specify a custom error message.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/add-custom-input-validation/ (linkStyle))
         * @see onValidateQuestion
         * @see onServerValidateQuestions
         */
        onValidatePanel: EventBase<SurveyModel, ValidatePanelEvent>;
        /**
         * An event that is raised to change default error messages.
         */
        onErrorCustomText: EventBase<SurveyModel, ErrorCustomTextEvent>;
        /**
         * An event that is raised when the [current page](#currentPage) is being validated. Handle this event to be notified of current page validation.
         */
        onValidatedErrorsOnCurrentPage: EventBase<SurveyModel, ValidatedErrorsOnCurrentPageEvent>;
        /**
         * An event that is raised when the survey processes HTML content. Handle this event to modify HTML content before displaying.
         * @see completedHtml
         * @see loadingHtml
         * @see QuestionHtmlModel.html
         */
        onProcessHtml: EventBase<SurveyModel, ProcessHtmlEvent>;
        /**
         * Use this event to change a question's display text.
         */
        onGetQuestionDisplayValue: EventBase<SurveyModel, GetQuestionDisplayValueEvent>;
        /**
         * An event that is raised before the survey displays a question title. Handle this event to modify question titles.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * If you want to modify question numbers, handle the [`onGetQuestionNumber`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetQuestionNumber) event.
         * @see requiredText
         */
        onGetQuestionTitle: EventBase<SurveyModel, GetQuestionTitleEvent>;
        /**
         * An event that is raised when the survey calculates heading levels (`<h1>`, `<h2>`, etc.) for a survey, page, panel, and question title. Handle this event to change the heading level of individual titles.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * If you want to specify heading levels for all titles, use the [`titleTags`](https://surveyjs.io/form-library/documentation/api-reference/settings#titleTags) object in [global settings](https://surveyjs.io/form-library/documentation/api-reference/settings).
         *
         * [View Demo](https://surveyjs.io/form-library/examples/survey-titletagnames/ (linkStyle))
         * @see onGetQuestionTitle
         * @see onGetQuestionNumber
         */
        onGetTitleTagName: EventBase<SurveyModel, GetTitleTagNameEvent>;
        /**
         * An event that is raised before the survey calculates a question number. Handle this event to modify question numbers.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * If you want to hide question numbers, disable the [`showQuestionNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showQuestionNumbers) property.
         * @see onGetQuestionTitle
         * @see questionStartIndex
         */
        onGetQuestionNumber: EventBase<SurveyModel, GetQuestionNumberEvent>;
        /**
         * Obsolete. Use the [`onGetQuestionNumber`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetQuestionNumber) event instead.
         * @deprecated
         */
        onGetQuestionNo: EventBase<SurveyModel, GetQuestionNumberEvent>;
        /**
         * An event that is raised before the survey calculates a panel number. Handle this event to modify panel numbers.
         *
         * This event is raised only for the panels with a [specified title](https://surveyjs.io/form-library/documentation/api-reference/panel-model#title) and [visible number](https://surveyjs.io/form-library/documentation/api-reference/panel-model#showNumber).
         */
        onGetPanelNumber: EventBase<SurveyModel, GetPanelNumberEvent>;
        /**
         * An event that is raised before the survey calculates a page number. Handle this event to modify page numbers.
         *
         * This event is raised only if the [`showPageNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showPageNumbers) property is enabled.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         * @see onGetQuestionTitle
         * @see questionStartIndex
         */
        onGetPageNumber: EventBase<SurveyModel, GetPageNumberEvent>;
        /**
         * An event that is raised before the survey displays progress text. Handle this event to change the progress text in code.
         * @see showProgressBar
         * @see progressBarType
         */
        onGetProgressText: EventBase<SurveyModel, GetProgressTextEvent>;
        /**
         * Obsolete. Use the [`onGetProgressText`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetProgressText) event instead.
         * @deprecated
         */
        onProgressText: EventBase<SurveyModel, ProgressTextEvent>;
        /**
         * An event that is raised to convert Markdown content to HTML.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/ (linkStyle))
         */
        onTextMarkdown: EventBase<SurveyModel, TextMarkdownEvent>;
        onTextRenderAs: EventBase<SurveyModel, any>;
        /**
         * An event that is raised after a request to save survey results on [SurveyJS Service](https://api.surveyjs.io/) has been completed. Use this event to find out if the results have been saved successfully.
         */
        onSendResult: EventBase<SurveyModel, SendResultEvent>;
        /**
         * An event that is raised when the [`getResult(resultId, questionName)`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#getResult) method is called. Use this event to obtain answers to an individual question from [SurveyJS Service](https://api.surveyjs.io/).
         * @see getResult
         */
        onGetResult: EventBase<SurveyModel, GetResultEvent>;
        /**
         * An event that is raised when a respondent opens a dialog window to select files.
         * @see chooseFiles
         */
        onOpenFileChooser: EventBase<SurveyModel, OpenFileChooserEvent>;
        /**
         * An event that is raised when a File Upload or Signature Pad question starts to upload a file. Applies only if [`storeDataAsText`](https://surveyjs.io/form-library/documentation/api-reference/file-model#storeDataAsText) is `false`. Use this event to upload files to your server.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/file-upload/ (linkStyle))
         * @see uploadFiles
         * @see onDownloadFile
         * @see onClearFiles
         */
        onUploadFiles: EventBase<SurveyModel, UploadFilesEvent>;
        /**
         * An event that is raised when a File Upload question starts to download a file. Use this event to implement file preview when your server stores only file names.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/store-file-names-in-survey-results/ (linkStyle))
         * @see downloadFile
         * @see onClearFiles
         * @see onUploadFiles
         */
        onDownloadFile: EventBase<SurveyModel, DownloadFileEvent>;
        /**
         * An event that is raised when users clear files in a [File Upload](https://surveyjs.io/form-library/documentation/api-reference/file-model) question or clear signature in a [Signature Pad](https://surveyjs.io/form-library/documentation/api-reference/signature-pad-model) question. Use this event to delete files from your server.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/file-delayed-upload/ (linkStyle))
         * @see clearFiles
         * @see onDownloadFile
         * @see onUploadFiles
         */
        onClearFiles: EventBase<SurveyModel, ClearFilesEvent>;
        /**
         * An event that is raised after choices are loaded from a server but before they are assigned to a choice-based question, such as [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) or [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model). Handle this event if you need to modify the loaded choices.
         */
        onLoadChoicesFromServer: EventBase<SurveyModel, LoadChoicesFromServerEvent>;
        /**
         * An event that is raised after a survey JSON schema is loaded from the [SurveyJS Service](https://api.surveyjs.io). Use this event to modify the loaded schema.
         * @see surveyId
         * @see clientId
         * @see loadSurveyFromService
         */
        onLoadedSurveyFromService: EventBase<SurveyModel, {}>;
        /**
         * An event that is raised when the survey processes [dynamic texts](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#dynamic-texts) and any text in curly brackets. Use this event, for instance, to substitute parameters in a RESTful URL with real values when you [load choices by URL](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl).
         */
        onProcessTextValue: EventBase<SurveyModel, ProcessTextValueEvent>;
        /**
         * An event that is raised before rendering a question. Use it to override default question CSS classes.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
         * @see css
         */
        onUpdateQuestionCssClasses: EventBase<SurveyModel, UpdateQuestionCssClassesEvent>;
        /**
         * An event that is raised before rendering a standalone panel and panels within [Dynamic Panel](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/). Use it to override default panel CSS classes.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
         * @see css
         */
        onUpdatePanelCssClasses: EventBase<SurveyModel, UpdatePanelCssClassesEvent>;
        /**
         * An event that is raised before rendering a page. Use it to override default page CSS classes.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
         * @see css
         */
        onUpdatePageCssClasses: EventBase<SurveyModel, UpdatePageCssClassesEvent>;
        /**
         * An event that is raised before rendering a choice item in Radio Button Group and Checkboxes questions. Use it to override default CSS classes applied to choice items.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
         * @see css
         */
        onUpdateChoiceItemCss: EventBase<SurveyModel, UpdateChoiceItemCssEvent>;
        /**
         * An event that is raised after the survey is rendered to the DOM. Use this event to modify survey markup.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/survey-animation/ (linkStyle))
         */
        onAfterRenderSurvey: EventBase<SurveyModel, AfterRenderSurveyEvent>;
        onAfterRenderHeader: EventBase<SurveyModel, any>;
        /**
         * An event that is raised after a page is rendered to the DOM. Use it to modify page markup.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/survey-afterrender/ (linkStyle))
         */
        onAfterRenderPage: EventBase<SurveyModel, AfterRenderPageEvent>;
        /**
         * An event that is raised after a question is rendered to the DOM. Use it to modify question markup.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/survey-afterrender/ (linkStyle))
         */
        onAfterRenderQuestion: EventBase<SurveyModel, AfterRenderQuestionEvent>;
        /**
         * An event that is raised after a question with a single input field is rendered to the DOM. Use it to modify question markup.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * > This event is not raised for questions without input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel)) or questions with multiple input fields ([Matrix](https://surveyjs.io/form-library/documentation/questionmatrixmodel), [Multiple Text](https://surveyjs.io/form-library/documentation/questionmultipletextmodel)).
         */
        onAfterRenderQuestionInput: EventBase<SurveyModel, AfterRenderQuestionInputEvent>;
        /**
         * An event that is raised after a panel is rendered to the DOM. Use it to modify panel markup.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * > This event is raised for static [Panels](https://surveyjs.io/form-library/examples/set-properties-on-multiple-questions-using-panel/) as well as panels within a [Dynamic Panel](https://surveyjs.io/form-library/examples/duplicate-group-of-fields-in-form/).
         */
        onAfterRenderPanel: EventBase<SurveyModel, AfterRenderPanelEvent>;
        /**
         * An event that is raised when an element (input field, checkbox, radio button) within a question gets focus.
         * @see onFocusInPanel
         * @see focusFirstQuestionAutomatic
         * @see focusQuestion
         */
        onFocusInQuestion: EventBase<SurveyModel, FocusInQuestionEvent>;
        /**
         * An event that is raised when an element within a panel gets focus.
         * @see onFocusInQuestion
         * @see focusFirstQuestionAutomatic
         * @see focusQuestion
         */
        onFocusInPanel: EventBase<SurveyModel, FocusInPanelEvent>;
        /**
         * An event that is raised before a [choice item](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choices) is displayed. Use this event to change the visibility of individual choice items in [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model), [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model), [Radio Button Group](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model), and other similar question types.
         */
        onShowingChoiceItem: EventBase<SurveyModel, ShowingChoiceItemEvent>;
        /**
         * Use this event to load choice items in [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel) and [Tag Box](https://surveyjs.io/form-library/documentation/questiontagboxmodel) questions on demand.
         *
         * This event is raised only for those questions that have the [`choicesLazyLoadEnabled`](https://surveyjs.io/form-library/documentation/questiondropdownmodel#choicesLazyLoadEnabled) property set to `true`.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))
         */
        onChoicesLazyLoad: EventBase<SurveyModel, ChoicesLazyLoadEvent>;
        /**
         * An event that is raised each time a search string in a [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) or [Tag Box](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) question changes. Use this event to implement custom filtering of choice options.
         * @see [QuestionDropdownModel.searchEnabled](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchEnabled)
         * @see [QuestionDropdownModel.searchMode](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#searchMode)
         */
        onChoicesSearch: EventBase<SurveyModel, ChoicesSearchEvent>;
        /**
         * Use this event to load a display text for the [default choice item](https://surveyjs.io/form-library/documentation/questiondropdownmodel#defaultValue) in [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel) and [Tag Box](https://surveyjs.io/form-library/documentation/questiontagboxmodel) questions.
         *
         * If you load choices from a server (use [`choicesByUrl`](https://surveyjs.io/form-library/documentation/questiondropdownmodel#choicesByUrl) or [`onChoicesLazyLoad`](https://surveyjs.io/form-library/documentation/surveymodel#onChoicesLazyLoad)), display texts become available only when data is loaded, which does not happen until a user opens the drop-down menu. However, a display text for a default choice item is required before that. In this case, you can load data individually for the default item within the `onGetChoiceDisplayValue` event handler.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))
         */
        onGetChoiceDisplayValue: EventBase<SurveyModel, GetChoiceDisplayValueEvent>;
        /**
         * An event that is raised after a new row is added to a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
         */
        onMatrixRowAdded: EventBase<SurveyModel, MatrixRowAddedEvent>;
        /**
         * An event that is raised before a new row is added to a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
         */
        onMatrixRowAdding: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
        /**
         * Obsolete. Use the [`onMatrixRowAdding`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixRowAdding) event instead.
         * @deprecated
         */
        onMatrixBeforeRowAdded: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
        /**
         * An event that is raised before a row is deleted from a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/). You can cancel row deletion and clear row data instead.
         * @see onMatrixRenderRemoveButton
         */
        onMatrixRowRemoving: EventBase<SurveyModel, MatrixRowRemovingEvent>;
        /**
         * An event that is raised after a row is deleted from a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
         * @see onMatrixRenderRemoveButton
         */
        onMatrixRowRemoved: EventBase<SurveyModel, MatrixRowRemovedEvent>;
        /**
         * An event that is raised before rendering the Remove button in a row of a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/). Use this event to hide the Remove button for individual matrix rows.
         * @see onMatrixRowRemoving
         * @see onMatrixRowRemoved
         */
        onMatrixRenderRemoveButton: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
        /**
         * Obsolete. Use the [`onMatrixRenderRemoveButton`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onMatrixRenderRemoveButton) event instead.
         * @deprecated
         */
        onMatrixAllowRemoveRow: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
        /**
         * An event that is raised after the visibility of an [expandable detail section](https://surveyjs.io/form-library/examples/add-expandable-details-section-under-matrix-rows/) is changed. This event can be raised for [Multi-Select](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) and [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions.
         */
        onMatrixDetailPanelVisibleChanged: EventBase<SurveyModel, MatrixDetailPanelVisibleChangedEvent>;
        /**
         * An event that is raised before a cell in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) is created. Use this event to change the type of individual matrix cells.
         * @see onAfterRenderMatrixCell
         */
        onMatrixCellCreating: EventBase<SurveyModel, MatrixCellCreatingEvent>;
        /**
          * An event that is raised after a cell in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) is created.
          * @see onAfterRenderMatrixCell
          */
        onMatrixCellCreated: EventBase<SurveyModel, MatrixCellCreatedEvent>;
        /**
         * An event that is raised for every matrix cell after it is rendered to the DOM.
         * @see onMatrixCellCreated
         */
        onAfterRenderMatrixCell: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
        /**
         * Obsolete. Use the [`onAfterRenderMatrixCell`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onAfterRenderMatrixCell) event instead.
         * @deprecated
         */
        onMatrixAfterCellRender: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
        /**
         * An event that is raised after a cell value is changed in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
         * @see onMatrixRowAdding
         */
        onMatrixCellValueChanged: EventBase<SurveyModel, MatrixCellValueChangedEvent>;
        /**
         * An event that is raised before a cell value is changed in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/). Use this event to change the cell value.
         * @see onMatrixRowAdding
         */
        onMatrixCellValueChanging: EventBase<SurveyModel, MatrixCellValueChangingEvent>;
        /**
         * An event that is raised for [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) and [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) questions when they validate a cell value. Use this event to display a custom error message based on a condition.
         * @see onMatrixRowAdding
         */
        onMatrixCellValidate: EventBase<SurveyModel, MatrixCellValidateEvent>;
        /**
         * An event that is raised after a new column is added to a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
         */
        onMatrixColumnAdded: EventBase<SurveyModel, MatrixColumnAddedEvent>;
        /**
         * An event that is raised on adding a new item in Multiple Text question.
         */
        onMultipleTextItemAdded: EventBase<SurveyModel, MultipleTextItemAddedEvent>;
        /**
         * An event that is raised after a new panel is added to a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
         */
        onDynamicPanelAdded: EventBase<SurveyModel, DynamicPanelModifiedEvent>;
        /**
         * An event that is raised after a panel is deleted from a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
         */
        onDynamicPanelRemoved: EventBase<SurveyModel, DynamicPanelModifiedEvent>;
        /**
         * An event that is raised before a panel is deleted from a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question. Use this event to cancel the deletion.
         */
        onDynamicPanelRemoving: EventBase<SurveyModel, DynamicPanelRemovingEvent>;
        /**
        * An event that is raised every second while the timer is running.
        *
        * Use the [`timeSpent`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeSpent) property to find out how many seconds have elapsed.
        * @see timeLimit
        * @see timeLimitPerPage
        * @see showTimer
        * @see timerLocation
        * @see startTimer
        */
        onTimerTick: EventBase<SurveyModel, {}>;
        /**
         * Obsolete. Use the [`onTimerTick`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTimerTick) event instead.
         * @deprecated
         */
        onTimer: EventBase<SurveyModel, {}>;
        onTimerPanelInfoText: EventBase<SurveyModel, any>;
        /**
         * An event that is raised after a value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
         */
        onDynamicPanelValueChanged: EventBase<SurveyModel, DynamicPanelItemValueChangedEvent>;
        /**
         * @deprecated Use the [`onDynamicPanelValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onDynamicPanelValueChanged) event instead.
         */
        onDynamicPanelItemValueChanged: EventBase<SurveyModel, DynamicPanelItemValueChangedEvent>;
        /**
         * An event that is raised before a value is changed in a panel within a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
         */
        onDynamicPanelValueChanging: EventBase<SurveyModel, DynamicPanelValueChangingEvent>;
        /**
         * An event that is raised before a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) renders [tab titles](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#templateTabTitle). Use this event to change individual tab titles.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
         */
        onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
        /**
         * An event that is raised after the current panel is changed in a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
         */
        onDynamicPanelCurrentIndexChanged: EventBase<SurveyModel, DynamicPanelCurrentIndexChangedEvent>;
        /**
         * An event that is raised to define whether a question answer is correct. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
         */
        onCheckAnswerCorrect: EventBase<SurveyModel, CheckAnswerCorrectEvent>;
        /**
         * Obsolete. Use the [`onCheckAnswerCorrect`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onCheckAnswerCorrect) event instead.
         * @deprecated
         */
        onIsAnswerCorrect: EventBase<SurveyModel, IsAnswerCorrectEvent>;
        /**
         * An event that is raised when users drag and drop survey elements while designing the survey in [Survey Creator](https://surveyjs.io/survey-creator/documentation/overview). Use this event to control drag and drop operations.
         * @see isDesignMode
         */
        onDragDropAllow: EventBase<SurveyModel, DragDropAllowEvent>;
        /**
         * An event this is raised before a survey element (usually page) is scrolled to the top. Use this event to cancel the scroll operation.
         */
        onScrollToTop: EventBase<SurveyModel, ScrollToTopEvent>;
        /**
         * Obsolete. Use the [`onScrollToTop`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onScrollToTop) event instead.
         * @deprecated
         */
        onScrollingElementToTop: EventBase<SurveyModel, ScrollingElementToTopEvent>;
        onLocaleChangedEvent: EventBase<SurveyModel, {}>;
        /**
         * An event that allows you to add, delete, or modify actions in a question title.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/survey-titleactions/ (linkStyle))
         * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
        */
        onGetQuestionTitleActions: EventBase<SurveyModel, GetQuestionTitleActionsEvent>;
        /**
         * An event that allows you to add, delete, or modify actions in a panel title.
         * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
         */
        onGetPanelTitleActions: EventBase<SurveyModel, GetPanelTitleActionsEvent>;
        /**
         * An event that allows you to add, delete, or modify actions in a page title.
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/modify-titles-of-survey-elements/ (linkStyle))
         * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
         */
        onGetPageTitleActions: EventBase<SurveyModel, GetPageTitleActionsEvent>;
        /**
         * An event that allows you to add, delete, or modify actions in the footer of a [Panel](https://surveyjs.io/form-library/documentation/panelmodel). This panel may belong to a [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) or be a standalone survey element.
         * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
         */
        onGetPanelFooterActions: EventBase<SurveyModel, GetPanelFooterActionsEvent>;
        /**
         * An event that allows you to add, delete, or modify actions in rows of a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
         *
         * For information on event handler parameters, refer to descriptions within the interface.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/employee-information-form/ (linkStyle))
         * @see [IAction](https://surveyjs.io/form-library/documentation/api-reference/iaction)
         */
        onGetMatrixRowActions: EventBase<SurveyModel, GetMatrixRowActionsEvent>;
        onElementContentVisibilityChanged: EventBase<SurveyModel, any>;
        /**
         * An event that is raised before an [Expression](https://surveyjs.io/form-library/documentation/api-reference/expression-model) question displays a value. Use this event to override the display value.
         */
        onGetExpressionDisplayValue: EventBase<SurveyModel, GetExpressionDisplayValueEvent>;
        /**
         * An event that is raised after the visibility of a popup is changed.
         *
         * This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions and [Rating Scale](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode), and [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) questions that contain columns of the `"dropdown"` or `"tagbox"` [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#cellType).
         */
        onPopupVisibleChanged: EventBase<SurveyModel, PopupVisibleChangedEvent>;
        /**
         * An event that is raised when users open a drop-down menu.
         *
         * This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions, [Rating Scale](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode), and [Multi-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list) questions that contain columns of the `"dropdown"` or `"tagbox"` [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#cellType). Handle this event to change the drop-down menu type for specific questions or device types.
         */
        onOpenDropdownMenu: EventBase<SurveyModel, OpenDropdownMenuEvent>;
        onElementWrapperComponentName: EventBase<SurveyModel, any>;
        onElementWrapperComponentData: EventBase<SurveyModel, any>;
        constructor(jsonObj?: any, renderedElement?: any);
        sjsVersion: string;
        processClosedPopup(question: IQuestion, popupModel: PopupModel<any>): void;
        protected createTryAgainAction(): IAction;
        private createHtmlLocString;
        /**
         * A list of errors in a survey JSON schema.
         * @see ensureUniqueNames
         */
        jsonErrors: Array<JsonError>;
        getType(): string;
        protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
        /*
        * Returns an array of all pages in the survey.
        *
        * To get an array of only visible pages, use the [`visiblePages`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#visiblePages) array.
        * @see PageModel
        */
        readonly pages: Array<PageModel>;
        renderCallback: () => void;
        render(element?: any): void;
        updateSurvey(newProps: any, oldProps?: any): void;
        getCss(): any;
        private cssValue;
        private updateCompletedPageCss;
        private updateCss;
        /*
        * Gets or sets an object in which keys are UI elements and values are CSS classes applied to them.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/customize-survey-with-css/ (linkStyle))
        */
        css: any;
        setCss(value: any, needMerge?: boolean): void;
        readonly cssTitle: string;
        readonly cssNavigationComplete: string;
        readonly cssNavigationPreview: string;
        readonly cssNavigationEdit: string;
        readonly cssNavigationPrev: string;
        readonly cssNavigationStart: string;
        readonly cssNavigationNext: string;
        private readonly cssSurveyNavigationButton: any;
        readonly bodyCss: string;
        readonly bodyContainerCss: string;
        completedCss: string;
        completedBeforeCss: string;
        loadingBodyCss: string;
        containerCss: string;
        fitToContainer: boolean;
        /**
         * Obsolete. Use the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property within a theme instead.
         * @deprecated
         */
        headerView: "advanced" | "basic";
        protected insertAdvancedHeader(advHeader: Cover): void;
        /**
         * Specifies whether the [Complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page) should display the [survey header](https://surveyjs.io/form-library/examples/brand-your-survey-header/).
         *
         * Possible values:
         *
         * - `true` - Displays the survey header on the Complete page.
         * - `false` - Hides the header when users reach the Complete page.
         * - `"auto"` (default) - Displays a header with the basic view, but hides a header with the advanced view (see the [`headerView`](https://surveyjs.io/form-library/documentation/api-reference/itheme#headerView) property description).
         *
         * > This property cannot be specified in the survey JSON schema. Use dot notation to specify it.
         */
        showHeaderOnCompletePage: true | false | "auto";
        private getNavigationCss;
        private lazyRenderingValue;
        showBrandInfo: boolean;
        enterKeyAction: "moveToNextEditor" | "loseFocus" | "default";
        /*
        * Specifies whether to enable lazy rendering.
        *
        * In default mode, a survey renders the entire current page. With lazy rendering, the survey renders the page gradually as a user scrolls it. This helps reduce survey startup time and optimizes large surveys for low-end devices.
        *
        * Default value: `false`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-lazy/ (linkStyle))
        * @see [settings.lazyRender](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender)
        */
        lazyRendering: boolean;
        readonly isLazyRendering: boolean;
        lazyRenderingFirstBatchSizeValue: number;
        lazyRenderingFirstBatchSize: number;
        protected _isLazyRenderingSuspended: boolean;
        readonly isLazyRenderingSuspended: boolean;
        protected suspendLazyRendering(): void;
        protected releaseLazyRendering(): void;
        private updateLazyRenderingRowsOnRemovingElements;
        /*
        * A list of triggers in the survey.
        *
        * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
        * @see runTriggers
        * @see onTriggerExecuted
        */
        triggers: Array<SurveyTrigger>;
        /*
        * An array of [calculated values](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#calculated-values).
        */
        calculatedValues: Array<CalculatedValue>;
        /*
        * The identifier of a survey JSON schema to load from [SurveyJS Service](https://api.surveyjs.io).
        *
        * Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
        * @see loadSurveyFromService
        * @see onLoadedSurveyFromService
        */
        surveyId: string;
        /*
        * An identifier used to save survey results to [SurveyJS Service](https://api.surveyjs.io).
        *
        * Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
        * @see onComplete
        * @see surveyShowDataSaving
        */
        surveyPostId: string;
        /*
        * A user identifier (e-mail or other unique ID).
        *
        * If your application works with [SurveyJS Service](https://api.surveyjs.io), the ID ensures that users do not pass the same survey twice. On the second run, they will see the [Completed Before page](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml).
        * @see cookieName
        */
        clientId: string;
        /*
        * A cookie name used to save information about survey completion.
        *
        * When this property has a value, the survey creates a cookie with the specified name on completion. This cookie helps ensure that users do not pass the same survey twice. On the second run, they will see the [Completed Before page](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml).
        * @see clientId
        */
        cookieName: string;
        /*
        * Specifies whether to save survey results when respondents switch between pages. Handle the [`onPartialSend`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onPartialSend) event to implement the save operation.
        *
        * Alternatively, you can handle the [`onCurrentPageChanged`](#onCurrentPageChanged) and [`onValueChanged`](#onValueChanged) events, as shown in the following demo: [Continue an Incomplete Survey](https://surveyjs.io/form-library/examples/survey-editprevious/).
        */
        sendResultOnPageNext: boolean;
        /*
        * Specifies whether to show progress when the survey sends data to [SurveyJS Service](https://api.surveyjs.io).
        *
        * [View Demo](https://surveyjs.io/form-library/examples/save-survey-results-and-load-surveys-from-surveyjs-service/ (linkStyle))
        * @see surveyPostId
        */
        surveyShowDataSaving: boolean;
        /*
        * Specifies whether to focus the first question on the page on survey startup or when users switch between pages.
        *
        * Default value: `false` in v1.9.114 and later, `true` in earlier versions
        * @see focusOnFirstError
        * @see focusFirstQuestion
        * @see focusQuestion
        */
        focusFirstQuestionAutomatic: boolean;
        /*
        * Specifies whether to focus the first question with a validation error on the current page.
        *
        * Default value: `true`
        * @see validate
        * @see focusFirstQuestionAutomatic
        */
        focusOnFirstError: boolean;
        /*
        * Gets or sets the position of the Start, Next, Previous, and Complete navigation buttons and controls their visibility.
        *
        * Possible values:
        *
        * - `"bottom"` (default) - Displays the navigation buttons below survey content.
        * - `"top"` - Displays the navigation buttons above survey content.
        * - `"both"` - Displays the navigation buttons above and below survey content.
        * - `"none"` - Hides the navigation buttons. This setting may be useful if you [implement custom external navigation](https://surveyjs.io/form-library/examples/external-form-navigation-system/).
        * @see goNextPageAutomatic
        * @see showPrevButton
        * @see showCompleteButton
        */
        showNavigationButtons: string | any;
        /*
        * Specifies whether to display the Previous button. Set this property to `false` if respondents should not move backward along the survey.
        * @see showNavigationButtons
        * @see showCompleteButton
        */
        showPrevButton: boolean;
        /*
        * Specifies whether to display the Complete button. Set this property to `false` if respondents should not complete the survey.
        * @see showNavigationButtons
        * @see showPrevButton
        */
        showCompleteButton: boolean;
        /*
        * Gets or sets the visibility of the table of contents.
        *
        * Default value: `false`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/toc-feature/ (linkStyle))
        * @see tocLocation
        */
        showTOC: boolean;
        /*
        * Gets or sets the position of the table of contents. Applies only when the table of contents is visible.
        *
        * Possible values:
        *
        * - `"left"` (default)
        * - `"right"`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/toc-feature/ (linkStyle))
        * @see showTOC
        */
        tocLocation: "left" | "right";
        /*
        * Specifies whether to display the [survey title](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title).
        *
        * [View Demo](https://surveyjs.io/form-library/examples/brand-your-survey-header/ (linkStyle))
        * @see title
        */
        showTitle: boolean;
        /*
        * Specifies whether to display [page titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title).
        */
        showPageTitles: boolean;
        /*
        * Specifies whether to show the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
        * @see onComplete
        * @see navigateToUrl
        */
        showCompletedPage: boolean;
        /*
        * A URL to which respondents should be navigated after survey completion.
        * @see onNavigateToUrl
        * @see navigateToUrlOnCondition
        */
        navigateToUrl: string;
        /*
        * An array of objects that allows you to navigate respondents to different URLs after survey completion.
        *
        * Each object should include the [`expression`](https://surveyjs.io/form-library/documentation/api-reference/urlconditionitem#url) and [`url`](https://surveyjs.io/form-library/documentation/api-reference/urlconditionitem#expression) properties. When `expression` evaluates to `true`, the survey navigates to the corresponding `url`. Refer to the following help topic for more information about expressions: [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions).
        * @see onNavigateToUrl
        * @see navigateToUrl
        */
        navigateToUrlOnCondition: Array<UrlConditionItem>;
        getNavigateToUrl(): string;
        private navigateTo;
        /*
        * Specifies one or multiple characters that designate required questions.
        *
        * Default value: `*`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/modify-question-title/ (linkStyle))
        */
        requiredText: string;
        /**
         * Specifies whether to hide validation errors thrown by the Required validation in the UI.
         *
         * [Built-In Client-Side Validators](https://surveyjs.io/form-library/documentation/data-validation#built-in-client-side-validators (linkStyle))
         * @see validationEnabled
         * @see validationAllowSwitchPages
         */
        hideRequiredErrors: boolean;
        beforeSettingQuestionErrors(question: Question, errors: Array<SurveyError>): void;
        beforeSettingPanelErrors(question: IPanel, errors: Array<SurveyError>): void;
        private makeRequiredErrorsInvisible;
        /*
        * Specifies the initial number or letter from which to start question numbering.
        *
        * [Question Numbers](https://surveyjs.io/form-library/documentation/design-survey/configure-question-titles#question-numbers (linkStyle))
        */
        questionStartIndex: string;
        /*
        * Specifies whether to store the "Other" option response in a separate property.
        *
        * Default value: `true`
        *
        * Respondents can leave comments when they select "Other" in choice-based questions, such as Dropdown or Checkboxes. Comment values are saved in a separate property. The property name is composed of the question `name` and [`commentSuffix`](#commentSuffix). However, you can use the question `name` as a key to store the comment value instead. Disable the `storeOthersAsComment` property in this case.
        * @see maxOthersLength
        */
        storeOthersAsComment: boolean;
        /*
        * Specifies the maximum text length in textual questions ([Single-Line Input](https://surveyjs.io/form-library/examples/text-entry-question/), [Long Text](https://surveyjs.io/form-library/examples/add-open-ended-question-to-a-form/), [Multiple Textboxes](https://surveyjs.io/form-library/examples/multiple-text-box-question/)), measured in characters.
        *
        * Default value: 0 (unlimited)
        *
        * You can override this setting for individual questions if you specify their [`maxLength`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maxLength) property.
        * @see maxOthersLength
        */
        maxTextLength: number;
        /*
        * Specifies the maximum text length for question comments. Applies to questions with the [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea) or [`showOtherItem`](https://surveyjs.io/form-library/documentation/api-reference/question#showOtherItem) property set to `true`.
        *
        * Default value: 0 (unlimited)
        * @see maxTextLength
        */
        maxOthersLength: number;
        /*
        * Specifies whether the survey switches to the next page automatically after a user answers all questions on the current page.
        *
        * Default value: `false`
        *
        * If you enable this property, the survey is also completed automatically. Set the [`allowCompleteSurveyAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#allowCompleteSurveyAutomatic) property to `false` if you want to disable this behavior.
        *
        * > If any of the following questions is answered last, the survey does not switch to the next page: Checkboxes, Yes/No (Boolean) (rendered as Checkbox), Long Text, Signature, Image Picker (with Multi Select), File Upload, Single-Select Matrix (not all rows are answered), Dynamic Matrix, Dynamic Panel.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/automatically-move-to-next-page-if-answer-selected/ (linkStyle))
        * @see [`settings.autoAdvanceDelay`](https://surveyjs.io/form-library/documentation/api-reference/settings#autoAdvanceDelay)
        */
        goNextPageAutomatic: boolean | "autogonext";
        /*
        * Specifies whether to complete the survey automatically after a user answers all questions on the last page. Applies only if the [`goNextPageAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) property is `true`.
        *
        * Default value: `true`
        * @see [`settings.autoAdvanceDelay`](https://surveyjs.io/form-library/documentation/api-reference/settings#autoAdvanceDelay)
        */
        allowCompleteSurveyAutomatic: boolean;
        /*
        * Specifies when the survey validates answers.
        *
        * Possible values:
        *
        * - `"onNextPage"` (default) - Triggers validation before the survey is switched to the next page or completed.
        * - `"onValueChanged"` - Triggers validation each time a question value is changed.
        * - `"onComplete"` - Triggers validation when a user clicks the Complete button. If previous pages contain errors, the survey switches to the page with the first error.
        *
        * > In SurveyJS Form Library v1.12.5 and earlier, the `"onValueChanged"` mode doesn't work with date input fields because of the way browsers process date values. In most browsers, the value is considered changed as soon as a user starts entering the date in a text input field. This means that a user may only enter the day without having the chance to enter the month and year before validation is triggered. For this reason, date input fields are validated before the survey is switched to the next page or completed. Starting with v1.12.6, `"onValueChanged"` works for date input fields as well as for input fields of other types.
        *
        * Refer to the following help topic for more information: [Data Validation](https://surveyjs.io/form-library/documentation/data-validation).
        * @see validationEnabled
        * @see validationAllowSwitchPages
        * @see validationAllowComplete
        * @see validate
        */
        checkErrorsMode: string;
        /*
        * Specifies whether to trigger validation when a user focuses on an empty input field and then leaves it without making any changes. Applies only if [`checkErrorsMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#checkErrorsMode) is set to `"onValueChanged"`.
        *
        * Default value: `false`
        *
        * This property changes validation behavior for the following question types:
        *
        * - [Single-Line Input](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model)
        * - [Long Text](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model)
        * - [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model)
        * @see validationEnabled
        * @see validationAllowSwitchPages
        * @see validationAllowComplete
        * @see validate
        */
        validateVisitedEmptyFields: boolean;
        getValidateVisitedEmptyFields(): boolean;
        /*
        * Specifies whether to increase the height of [Long Text](https://surveyjs.io/form-library/examples/add-open-ended-question-to-a-form/) questions and other text areas to accommodate multi-line text content.
        *
        * Default value: `false`
        *
        * You can override this property for individual Long Text questions: [`autoGrow`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#autoGrow).
        * @see allowResizeComment
        * @see commentAreaRows
        */
        autoGrowComment: boolean;
        /*
        * Specifies whether to display a resize handle for [Long Text](https://surveyjs.io/form-library/examples/add-open-ended-question-to-a-form/) questions and other text areas intended for multi-line text content.
        *
        * Default value: `true`
        *
        * You can override this property for individual Long Text questions: [`allowResize`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#allowResize).
        * @see autoGrowComment
        * @see commentAreaRows
        */
        allowResizeComment: boolean;
        /*
        * Specifies the visible height of comment areas, measured in lines. Applies to the questions with the [`showCommentArea`](https://surveyjs.io/form-library/documentation/api-reference/question#showCommentArea) or [`showOtherItem`](https://surveyjs.io/form-library/documentation/api-reference/question#showOtherItem) property enabled.
        *
        * Default value: 2
        *
        * The value of this property is passed on to the `rows` attribute of the underlying `<textarea>` element.
        * @see autoGrowComment
        * @see allowResizeComment
        */
        commentAreaRows: number;
        /*
        * Specifies when to update the question value in questions with a text input field.
        *
        * Possible values:
        *
        * - `"onBlur"` (default) - Updates the value after the input field loses focus.
        * - `"onTyping"` - Updates the value on every key press.
        *
        * > Do not use the `"onTyping"` mode if your survey contains many expressions. Expressions are reevaluated each time a question value is changed. In `"onTyping"` mode, the question value changes frequently. This may cause performance degradation.
        *
        * You can override this setting for individual questions: [`textUpdateMode`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#textUpdateMode).
        */
        textUpdateMode: string;
        /*
        * Specifies when to remove values of invisible questions from [survey results](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data).
        *
        * Possible values:
        *
        * - `"onComplete"` (default) - Clears invisible question values when the survey is complete.
        * - `"onHidden"` - Clears a question value when the question becomes invisible. If the question is invisible initially, its value is removed on survey completion.
        * - `"onHiddenContainer"` - Clears a question value when the question or its containter (page or panel) becomes invisible. If the question is invisible initially, its value is removed on survey completion.
        * - `"none"` - Keeps invisible values in survey results.
        * - `true` - Equivalent to `"onComplete"`.
        * - `false` - Equivalent to `"none"`.
        * @see [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility)
        * @see onComplete
        */
        clearInvisibleValues: any;
        /**
         * Removes values that cannot be assigned to a question, for example, choices unlisted in the `choices` array.
         *
         * Call this method after you assign new question values in code to ensure that they are acceptable.
         *
         * > This method does not remove values that fail validation. Call the [`validate()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#validate) method to validate newly assigned values.
         * @param removeNonExistingRootKeys Pass `true` to remove values that do not correspond to any question or [calculated value](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#calculated-values).
         */
        clearIncorrectValues(removeNonExistingRootKeys?: boolean): void;
        private iscorrectValueWithPostPrefix;
        /*
        * Specifies whether to keep values that cannot be assigned to questions, for example, choices unlisted in the `choices` array.
        *
        * > This property cannot be specified in the survey JSON schema. Use dot notation to specify it.
        * @see clearIncorrectValues
        */
        keepIncorrectValues: boolean;
        /*
        * Specifies the survey's locale.
        *
        * Default value: `""` (a default locale is used)
        *
        * [Localization & Globalization help topic](https://surveyjs.io/form-library/documentation/survey-localization (linkStyle))
        *
        * [Survey Localization demo](https://surveyjs.io/form-library/examples/survey-localization/ (linkStyle))
        */
        locale: string;
        private onSurveyLocaleChanged;
        readonly localeDir: string;
        /**
         * Returns an array of locales whose translations are used in the survey.
         *
         * [Localization & Globalization help topic](https://surveyjs.io/form-library/documentation/survey-localization (linkStyle))
         *
         * [Survey Localization demo](https://surveyjs.io/form-library/examples/survey-localization/ (linkStyle))
         */
        getUsedLocales(): Array<string>;
        localeChanged(): void;
        getLocale(): string;
        locStrsChanged(): void;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getRendererForString(element: Question | PanelModel | PageModel | SurveyModel, name: string): string;
        getRendererContextForString(element: Base, locStr: LocalizableString): any;
        getExpressionDisplayValue(question: Question, value: any, displayValue: string): string;
        private getBuiltInRendererForString;
        getProcessedText(text: string): string;
        getLocString(str: string): string;
        getErrorCustomText(text: string, error: SurveyError): string;
        getSurveyErrorCustomText(obj: PanelModel | Question | SurveyModel, text: string, error: SurveyError): string;
        getQuestionDisplayValue(question: Question, displayValue: any): any;
        /*
        * A message that is displayed when a survey does not contain visible pages or questions.
        * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/survey-localization)
        */
        emptySurveyText: string;
        /*
        * An image URL or a Base64-encoded image to use as a survey logo.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
        * @see logoPosition
        * @see logoFit
        */
        logo: string;
        readonly locLogo: LocalizableString;
        /*
        * A logo width in CSS-accepted values.
        *
        * Default value: `300px`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
        * @see logoHeight
        * @see logo
        * @see logoPosition
        * @see logoFit
        */
        logoWidth: any;
        readonly renderedLogoWidth: number;
        readonly renderedStyleLogoWidth: string;
        /*
        * A logo height in CSS-accepted values.
        *
        * Default value: `200px`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
        * @see logoHeight
        * @see logo
        * @see logoPosition
        * @see logoFit
        */
        logoHeight: any;
        readonly renderedLogoHeight: number;
        readonly renderedStyleLogoHeight: string;
        /*
        * A logo position relative to the [survey title](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title).
        *
        * Possible values:
        *
        * - `"left"` (default) - Places the logo to the left of the survey title.
        * - `"right"` - Places the logo to the right of the survey title.
        * - `"none"` - Hides the logo.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
        * @see logo
        * @see logoFit
        */
        logoPosition: string;
        readonly hasLogo: boolean;
        private updateHasLogo;
        readonly isLogoBefore: boolean;
        readonly isLogoAfter: boolean;
        readonly logoClassNames: string;
        private titleIsEmpty;
        readonly renderedHasTitle: boolean;
        readonly renderedHasDescription: boolean;
        readonly hasTitle: boolean;
        readonly renderedHasLogo: boolean;
        readonly renderedHasHeader: boolean;
        /*
        * Specifies how to resize a logo to fit it into its container.
        *
        * Possible values:
        *
        * - `"contain"` (default)
        * - `"cover"`
        * - `"fill"`
        * - `"none"`
        *
        * Refer to the [`object-fit`](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property description for information on the possible values.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
        * @see logo
        * @see logoPosition
        */
        logoFit: string;
        private cssVariables;
        readonly themeVariables: {
            [index: string]: string;
        };
        _isMobile: boolean;
        setIsMobile(newVal?: boolean): void;
        readonly isMobile: boolean;
        private _isCompact;
        isCompact: boolean;
        protected isLogoImageChoosen(): string;
        readonly titleMaxWidth: string;
        /**
         * An image to display in the background of the survey or form. Accepts a base64 or URL string value.
         * @see backgroundOpacity
         */
        backgroundImage: string;
        renderBackgroundImage: string;
        private updateRenderBackgroundImage;
        backgroundImageFit: ImageFit;
        backgroundImageAttachment: ImageAttachment;
        /*
        * A value from 0 to 1 that specifies how transparent the [background image](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#backgroundImage) should be: 0 makes the image completely transparent, and 1 makes it opaque.
        */
        backgroundOpacity: number;
        backgroundImageStyle: any;
        updateBackgroundImageStyle(): void;
        wrapperFormCss: string;
        updateWrapperFormCss(): void;
        /*
        * HTML content displayed on the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
        *
        * [View Demo](https://surveyjs.io/form-library/examples/modify-survey-navigation-settings/ (linkStyle))
        * @see showCompletedPage
        * @see completedHtmlOnCondition
        */
        completedHtml: string;
        readonly locCompletedHtml: LocalizableString;
        /*
        * An array of objects that allows you to specify different HTML content for the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
        *
        * Each object should include the [`expression`](https://surveyjs.io/form-library/documentation/api-reference/htmlconditionitem#expression) and [`html`](https://surveyjs.io/form-library/documentation/api-reference/htmlconditionitem#html) properties. When `expression` evaluates to `true`, the survey uses the corresponding HTML markup instead of [`completedHtml`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedHtml). Refer to the following help topic for more information about expressions: [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions).
        *
        * [View Demo](https://surveyjs.io/form-library/examples/nps-question/ (linkStyle))
        */
        completedHtmlOnCondition: Array<HtmlConditionItem>;
        /**
         * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns a result value.
         * @param expression An expression to calculate.
         * @param callback A callback function that you can use to access the calculation result if the expression uses asynchronous functions.
         */
        runExpression(expression: string, callback?: (res: any) => void): any;
        private setValueOnExpressionCounter;
        readonly isSettingValueOnExpression: boolean;
        startSetValueOnExpression(): void;
        finishSetValueOnExpression(): void;
        /**
         * Calculates a given [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) and returns `true` or `false`.
         * @param expression An expression to calculate.
         */
        runCondition(expression: string): boolean;
        /**
         * Executes [all triggers](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#triggers), except ["complete"](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete).
         *
         * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
         * @see onTriggerExecuted
         */
        runTriggers(): void;
        readonly renderedCompletedHtml: string;
        private getExpressionItemOnRunCondition;
        /*
        * HTML content displayed to a user who has completed the survey before. To identify such users, the survey uses a [cookie name](#cookieName) or [client ID](#clientId).
        * @see processedCompletedBeforeHtml
        */
        completedBeforeHtml: string;
        readonly locCompletedBeforeHtml: LocalizableString;
        /*
        * HTML content displayed while a survey JSON schema is being loaded from [SurveyJS Service](https://api.surveyjs.io).
        * @see surveyId
        * @see processedLoadingHtml
        */
        loadingHtml: string;
        readonly locLoadingHtml: LocalizableString;
        readonly defaultLoadingHtml: string;
        readonly navigationBar: ActionContainer;
        /**
         * Adds a custom navigation item similar to the Previous Page, Next Page, and Complete buttons.
         * Accepts an object described in the [IAction](https://surveyjs.io/Documentation/Library?id=IAction) help section.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/survey-changenavigation/ (linkStyle))
        */
        addNavigationItem(val: IAction): Action;
        /*
        * Gets or sets a caption for the Start button.
        * @see firstPageIsStarted
        * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/survey-localization)
        */
        startSurveyText: string;
        readonly locStartSurveyText: LocalizableString;
        /*
        * Gets or sets a caption for the Previous button.
        * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/survey-localization)
        */
        pagePrevText: string;
        readonly locPagePrevText: LocalizableString;
        /*
        * Gets or sets a caption for the Next button.
        * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/survey-localization)
        */
        pageNextText: string;
        readonly locPageNextText: LocalizableString;
        /*
        * Gets or sets a caption for the Complete button.
        * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/survey-localization)
        */
        completeText: string;
        readonly locCompleteText: LocalizableString;
        /*
        * Gets or sets a caption for the Preview button.
        * @see showPreviewBeforeComplete
        * @see showPreview
        * @see editText
        */
        previewText: string;
        readonly locPreviewText: LocalizableString;
        /*
        * Gets or sets a caption for the Edit button displayed when the survey shows a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page).
        * @see showPreviewBeforeComplete
        * @see cancelPreview
        * @see previewText
        */
        editText: string;
        readonly locEditText: LocalizableString;
        getElementTitleTagName(element: Base, tagName: string): string;
        /*
        * Specifies a pattern for question titles.
        *
        * Refer to the following help topic for more information: [Title Pattern](https://surveyjs.io/form-library/documentation/design-survey/configure-question-titles#title-pattern).
        */
        questionTitlePattern: string;
        getQuestionTitlePatternOptions(): Array<any>;
        questionTitleTemplate: string;
        private getNewTitlePattern;
        private getNewQuestionTitleElement;
        readonly locQuestionTitleTemplate: LocalizableString;
        getUpdatedQuestionTitle(question: Question, title: string): string;
        getUpdatedQuestionNo(question: Question, no: string): string;
        getUpdatedPanelNo(panel: PanelModel, no: string): string;
        getUpdatedPageNo(page: PageModel, no: string): string;
        /*
        * Specifies whether page titles contain page numbers.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/ (linkStyle))
        * @see onGetPageNumber
        */
        showPageNumbers: boolean;
        /*
        * Specifies whether to display question numbers and how to calculate them.
        *
        * Possible values:
        *
        * - `true` or `"on"` - Displays question numbers.
        * - `"onpage"` - Displays question numbers and starts numbering on each page from scratch.
        * - `false` or `"off"` - Hides question numbers.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/how-to-number-pages-and-questions/ (linkStyle))
        *
        * If you want to hide the number of an individual question, enable its [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property.
        * @see onGetQuestionNumber
        */
        showQuestionNumbers: string | boolean;
        private progressBarValue;
        readonly progressBar: any;
        /*
        * Controls the visibility of the progress bar and specifies its position.
        *
        * Possible values:
        *
        * - `"off"` (default) - Hides the progress bar.
        * - `"aboveHeader"` - Displays the progress bar above the survey header.
        * - `"belowHeader"` - Displays the progress bar below the survey header.
        * - `"bottom"` - Displays the progress bar below survey content.
        * - `"topBottom"` - Displays the progress bar above and below survey content.
        * - `"auto"` - Displays the progress bar below the survey header if the header has a [background image](https://surveyjs.io/form-library/documentation/api-reference/iheader#backgroundImage) or color. Otherwise, the progress bar is displayed above the header.
        * - `"top"` - *(Obsolete)* Use the `"aboveHeader"` or `"belowHeader"` property value instead.
        * - `"both"` - *(Obsolete)* Use the `"topBottom"` property value instead.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/navigation-default/ (linkStyle))
        * @see progressBarType
        * @see progressValue
        */
        showProgressBar: string;
        /*
        * Specifies the type of information displayed by the progress bar. Applies only when [`showProgressBar`](#showProgressBar) is not `"off"`.
        *
        * Possible values:
        *
        * - `"pages"` (default) - The number of completed pages.
        * - `"questions"` - The number of answered questions.
        * - `"requiredQuestions"` - The number of answered [required questions](https://surveyjs.io/form-library/documentation/api-reference/question#isRequired).
        * - `"correctQuestions"` - The number of correct questions in a [quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
        * - `"buttons"` - *(Obsolete)* Use the `"pages"` property value with the [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) property set to `true` instead.
        *
        * > When `progressBarType` is set to `"pages"`, you can also enable the [`progressBarShowPageNumbers`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageNumbers) and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarShowPageTitles) properties if you want to display page numbers and titles in the progress bar.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/navigation-buttons/ (linkStyle))
        * @see progressValue
        */
        progressBarType: string;
        private readonly progressBarComponentName: any;
        /**
         * Specifies whether the progress bar displays page titles. Applies only when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarType) is `"pages"`.
         *
         * Default value: `false`
         * @see progressBarShowPageNumbers
         * @see progressBarInheritWidthFrom
         */
        progressBarShowPageTitles: boolean;
        /**
         * Specifies whether the progress bar displays page numbers. Applies only when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarType) is `"pages"`.
         *
         * Default value: `false`
         * @see progressBarShowPageTitles
         * @see progressBarInheritWidthFrom
         */
        progressBarShowPageNumbers: boolean;
        /**
         * Specifies whether the progress bar spans the width of the survey or that of the survey container. Applies only when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar) and [`progressBarType`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#progressBarType) is `"pages"`.
         *
         * Possible values:
         *
         * - `"survey"`\
         * The progress bar width is the same as the survey width.
         * - `"container"` (default)\
         * The progress bar width is the same as the survey container width.
         * @see progressBarShowPageTitles
         * @see progressBarShowPageNumbers
         */
        progressBarInheritWidthFrom: "survey" | "container";
        readonly isShowProgressBarOnTop: boolean;
        readonly isShowProgressBarOnBottom: boolean;
        getProgressTypeComponent(): string;
        getProgressCssClasses(container?: string): string;
        private canShowProresBar;
        readonly processedTitle: string;
        /*
        * Gets or sets question title location relative to the input field: `"top"`, `"bottom"`, or `"left"`.
        *
        * > Certain question types (Matrix, Multiple Text) do not support the `"left"` value. For them, the `"top"` value is used.
        *
        * You can override this setting if you specify the `questionTitleLocation` property for an [individual page](https://surveyjs.io/form-library/documentation/pagemodel#questionTitleLocation) or [panel](https://surveyjs.io/form-library/documentation/panelmodel#questionTitleLocation) or set the `titleLocation` property for a [specific question](https://surveyjs.io/form-library/documentation/question#titleLocation).
        */
        questionTitleLocation: string;
        updateElementCss(reNew?: boolean): void;
        /*
        * Specifies the error message position.
        *
        * Possible values:
        *
        * - `"top"` (default) - Displays error messages above questions.
        * - `"bottom"` - Displays error messages below questions.
        *
        * You can override this setting if you specify the `questionErrorLocation` property for an [individual page](https://surveyjs.io/form-library/documentation/pagemodel#questionErrorLocation) or [panel](https://surveyjs.io/form-library/documentation/panelmodel#questionErrorLocation) or set the `errorLocation` property for a [specific question](https://surveyjs.io/form-library/documentation/question#errorLocation).
        */
        questionErrorLocation: string;
        /*
        * Specifies where to display question descriptions.
        *
        * Possible values:
        *
        * - `"underTitle"` (default) - Displays descriptions under question titles.
        * - `"underInput"` - Displays descriptions under the interactive area.
        *
        * You can override this setting for individual questions if you specify their [`descriptionLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#descriptionLocation) property.
        *
        */
        questionDescriptionLocation: string;
        /*
        * Specifies whether users can take the survey or only view it.
        *
        * Possible values:
        *
        * - `"edit"` (default) - Allows users to take the survey.
        * - `"display"` - Makes the survey read-only.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-displaymode/ (linkStyle))
        */
        mode: string;
        private onModeChanged;
        /*
        * Gets or sets an object with survey results. You can set this property with an object of the following structure:
        *
        * ```js
        * {
        *   question1Name: question1Value,
        *   question2Name: question2Value,
        *   // ...
        * }
        * ```
        *
        * When you set this property in code, the new object overrides the old object that may contain default question values and entered data. If you want to *merge* the new and old objects, call the [`mergeData(newDataObj)`](https://surveyjs.io/form-library/documentation/surveymodel#mergeData) method.
        *
        * If you assign a new object while a respondent takes the survey, set the [`currentPageNo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#currentPageNo) property to 0 to start the survey from the beginning. This will also cause the survey to re-evaluate the [`visibleIf`](https://surveyjs.io/form-library/documentation/api-reference/question#visibleIf), [`enableIf`](https://surveyjs.io/form-library/documentation/api-reference/question#enableIf), and other [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions).
        * @see setValue
        * @see getValue
        */
        data: any;
        /**
         * Merges a specified data object with the object from the [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property.
         *
         * Refer to the following help topic for more information: [Populate Form Fields | Multiple Question Values](https://surveyjs.io/form-library/documentation/design-survey/pre-populate-form-fields#multiple-question-values).
         *
         * @param data A data object to merge. It should have the following structure: `{ questionName: questionValue, ... }`
         * @see setValue
         */
        mergeData(data: any): void;
        setDataCore(data: any, clearData?: boolean): void;
        readonly isSurvey: boolean;
        /**
         * Returns an object with survey results.
         *
         * If you want to get a survey results object that mirrors the survey structure, call the `getData()` method with an object that has the `includePages` and `includePanels` properties enabled. Without this object, the `getData()` method returns the [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property value.
         *
         * ```js
         * import { Model } from "survey-core";
         *
         * const surveyJson = { ... };
         * const survey = new Model(surveyJson);
         * survey.getData({ includePages: true, includePanels: true });
         * ```
         */
        getData(options?: {
            includePages?: boolean;
            includePanels?: boolean;
        }): any;
        getStructuredData(includePages?: boolean, level?: number): any;
        setStructuredData(data: any, doMerge?: boolean): void;
        private collectDataFromPanel;
        private onEditingObjPropertyChanged;
        editingObj: Base;
        private unConnectEditingObj;
        readonly isEditingSurveyElement: boolean;
        private setCalculatedValuesIntoResult;
        getAllValues(): any;
        /**
         * Returns survey results as an array of objects in which the question name, title, value, and other parameters are stored as individual properties.
         *
         * If a question can have more than one value (Matrix, Multiple Text), its object enables the `isNode` flag and stores information about these values in the `data` property. Refer to the following help topic for more information: [Access Full Survey Results](https://surveyjs.io/form-library/documentation/handle-survey-results-access#access-full-survey-results).
         *
         * If you want to skip empty answers, pass an object with the `includeEmpty` property set to `false`.
         */
        getPlainData(options?: IPlainDataOptions): Array<IQuestionPlainData>;
        getFilteredValues(): any;
        private addCalculatedValuesIntoFilteredValues;
        getFilteredProperties(): any;
        private getValuesKeys;
        getDataValueCore(valuesHash: any, key: string): any;
        setDataValueCore(valuesHash: any, key: string, value: any): void;
        deleteDataValueCore(valuesHash: any, key: string): void;
        valueHashGetDataCallback: (valuesHash: any, key: string) => any;
        valueHashSetDataCallback: (valuesHash: any, key: string, value: any) => void;
        valueHashDeleteDataCallback: (valuesHash: any, key: string) => void;
        private getDataFromValueHash;
        private setDataToValueHash;
        private deleteDataFromValueHash;
        /*
        * An object with all comment values.
        * @see Question.showCommentArea
        * @see storeOthersAsComment
        */
        readonly comments: any;
        /*
        * Returns an array of visible pages without the start page.
        *
        * To get an array of all pages, use the [`pages`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#pages) property. If all pages are visible, the `pages` and `visiblePages` arrays are identical.
        * @see [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility)
        */
        readonly visiblePages: Array<PageModel>;
        private isPageInVisibleList;
        /*
        * Returns `true` if the survey contains zero pages.
        * @see emptySurveyText
        */
        readonly isEmpty: boolean;
        readonly PageCount: number;
        /*
        * Returns a total number of survey pages.
        *
        * To get the number of visible pages, use the [`visiblePageCount`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#visiblePageCount) property.
        * @see pages
        */
        readonly pageCount: number;
        /*
        * Returns the number of visible survey pages.
        *
        * To get a total number of survey pages, use the [`pageCount`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#pageCount) property.
        * @see visiblePages
        * @see [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-visibility)
        */
        readonly visiblePageCount: number;
        /*
        * Returns the start page. Applies only if the [`firstPageIsStarted`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#firstPageIsStarted) property is set to `true`.
        *
        * Refer to the following help topic for more information: [Start Page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page).
        * @see firstPageIsStarted
        * @see activePage
        */
        readonly startedPage: PageModel;
        /*
        * Gets or sets the current page.
        *
        * If you want to change the current page, set this property to a `PageModel` object. You can get this object in different ways. For example, you can call the [`getPageByName()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#getPageByName) method to obtain a `PageModel` object with a specific name:
        *
        * ```js
        * survey.currentPage = survey.getPageByName("my-page-name");
        * ```
        *
        * Alternatively, you can change the current page if you set the [`currentPageNo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#currentPageNo) property to the index of the required page.
        *
        * The `currentPage` property does not return the start page even if it is current. Use the [`activePage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#activePage) property instead if your survey contains a start page.
        */
        currentPage: any;
        tryNavigateToPage(page: PageModel): boolean;
        private performValidationOnPageChanging;
        private updateCurrentPage;
        private readonly isCurrentPageAvailable: any;
        private isPageExistsInSurvey;
        /*
        * Returns [`startedPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#startedPage) if the survey currently displays a start page; otherwise, returns [`currentPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#currentPage).
        * @see startedPage
        * @see currentPage
        * @see firstPageIsStarted
        */
        readonly activePage: any;
        /*
        * A Boolean value that indicates whether the [start page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page) is currently displayed.
        */
        readonly isShowStartingPage: boolean;
        /*
        * Specifies which part of a matrix row responds to a drag gesture in [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) questions.
        *
        * Possible values:
        *
        * - `"entireItem"` (default) - Users can use the entire matrix row as a drag handle.
        * - `"icon"` - Users can only use a drag icon as a drag handle.
        */
        matrixDragHandleArea: string;
        readonly isShowingPage: boolean;
        private updateActivePage;
        private onStateAndCurrentPageChanged;
        private getPageByObject;
        /*
        * A zero-based index of the current page in the [`visiblePages`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#visiblePages) array.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-editprevious/ (linkStyle))
        * @see visiblePages
        */
        currentPageNo: number;
        /*
        * Specifies the sort order of questions in the survey.
        *
        * Possible values:
        *
        * - `"initial"` (default) - Preserves the original order of questions.
        * - `"random"` - Displays questions in random order.
        *
        * You can override this property for individual pages and panels.
        * @see PageModel.questionsOrder
        * @see PanelModel.questionsOrder
        */
        questionsOrder: string;
        /**
         * Focuses the first question on the current page.
         * @see focusQuestion
         * @see focusFirstQuestionAutomatic
         */
        focusFirstQuestion(): void;
        scrollToTopOnPageChange(doScroll?: boolean): void;
        /*
        * Returns the current survey state.
        *
        * Possible values:
        *
        * - `"loading"` - The survey is being loaded from a JSON schema.
        * - `"empty"` - The survey has no elements to display.
        * - `"starting"` - The survey displays a [start page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page).
        * - `"running"` - A respondent is taking the survey.
        * - `"preview"` - A respondent is [previewing](https://surveyjs.io/form-library/examples/survey-showpreview/) answers before submitting them.
        * - `"completed"` - A respondent has completed the survey and submitted the results.
        */
        readonly state: string;
        private updateState;
        private calcState;
        private isCompleted: any;
        private isShowingPreview: any;
        private isStartedState: any;
        private isCompletedBefore: any;
        private isLoading: any;
        readonly completedState: string;
        readonly completedStateText: string;
        protected setCompletedState(value: string, text: string): void;
        /**
         * Displays a toast notification with a specified message.
         *
         * Depending on the `type` argument, a survey can display the following notification types:
         *
         * ![Toast notification types in SurveyJS Form Library](https://surveyjs.io//Content/Images/docs/notification-types.png)
         * @param message A message to display.
         * @param type A notification type: `"info"` (default), `"success"`, or `"error"`.
         * @param showActions For internal use.
         */
        notify(message: string, type: string, showActions?: boolean): void;
        /**
         * Resets the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) and, optionally, [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data). If `state` is `"completed"`, it becomes `"running"`.
         * @param clearData *(Optional)* Specifies whether to clear survey data. Default value: `true`.
         * @param goToFirstPage *(Optional)* Specifies whether to switch the survey to the first page. Default value: `true`.
         */
        clear(clearData?: boolean, goToFirstPage?: boolean): void;
        mergeValues(src: any, dest: any): void;
        private updateValuesWithDefaults;
        protected updateCustomWidgets(page: PageModel): void;
        protected currentPageChanging(newValue: PageModel, oldValue: PageModel, newQuestion?: Question, oldQuestion?: Question): boolean;
        private currentPageChangingFromOptions;
        protected currentPageChanged(newValue: PageModel, oldValue: PageModel): void;
        private notifyQuestionsOnHidingContent;
        private createPageChangeEventOptions;
        getProgress(): number;
        /*
        * Returns a percentage value that indicates user progress in the survey.
        * @see showProgressBar
        * @see progressBarType
        * @see progressText
        */
        readonly progressValue: number;
        readonly isNavigationButtonsShowing: string;
        readonly isNavigationButtonsShowingOnTop: boolean;
        readonly isNavigationButtonsShowingOnBottom: boolean;
        private getIsNavigationButtonsShowingOn;
        readonly isEditMode: boolean;
        readonly isDisplayMode: boolean;
        readonly isUpdateValueTextOnTyping: boolean;
        /*
        * Indicates whether the survey is being designed in [Survey Creator](https://surveyjs.io/survey-creator/documentation/overview).
        */
        readonly isDesignMode: boolean;
        private _isDesignMode;
        setDesignMode(value: boolean): void;
        /*
        * Specifies whether to show all survey elements, regardless of their visibility.
        *
        * Default value: `false`
        */
        showInvisibleElements: boolean;
        private updateAllElementsVisibility;
        readonly areInvisibleElementsShowing: boolean;
        readonly areEmptyElementsHidden: boolean;
        private readonly isAnyQuestionAnswered: any;
        /*
        * Indicates whether the browser has a cookie with a specified [`cookieName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#cookieName). If this property's value is `true`, the respondent has passed the survey previously.
        * @see setCookie
        * @see deleteCookie
        */
        readonly hasCookie: boolean;
        /**
         * Sets a cookie with a specified [`cookieName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#cookieName) in the browser. If the `cookieName` property value is defined, this method is automatically called on survey completion.
         * @see hasCookie
         * @see deleteCookie
         */
        setCookie(): void;
        /**
         * Deletes a cookie with a specified [`cookieName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#cookieName) from the browser.
         * @see hasCookie
         * @see setCookie
         */
        deleteCookie(): void;
        /*
        * Obsolete. Use the [`validationEnabled`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#validationEnabled) property instead.
        * @deprecated
        */
        ignoreValidation: boolean;
        /**
         * Specifies whether data validation is enabled.
         *
         * Default value: `true`
         * @see checkErrorsMode
         * @see hideRequiredErrors
         */
        validationEnabled: boolean;
        /**
         * Specifies whether respondents can switch the current page even if it contains validation errors.
         *
         * Default value: `false`
         * @see checkErrorsMode
         */
        validationAllowSwitchPages: boolean;
        /**
         * Specifies whether respondents can end a survey with validation errors.
         *
         * Default value: `false`
         * @see checkErrorsMode
         */
        validationAllowComplete: boolean;
        /**
         * Switches the survey to the next page.
         *
         * This method returns a Boolean value that indicates whether the page was successfully switched. `false` is returned if the current page is the last page or if it contains validation errors.
         * @returns `true` if the page was successfully switched; `false` otherwise.
         * @see isLastPage
         * @see prevPage
         * @see completeLastPage
         */
        nextPage(): boolean;
        performNext(): boolean;
        performPrevious(): boolean;
        private hasErrorsOnNavigate;
        private canGoTroughValidation;
        private asyncValidationQuesitons;
        private checkForAsyncQuestionValidation;
        private clearAsyncValidationQuesitons;
        private onCompletedAsyncQuestionValidators;
        readonly isCurrentPageHasErrors: boolean;
        /*
        * Returns `true` if the current page does not contain errors.
        * @see currentPage
        */
        readonly isCurrentPageValid: boolean;
        hasCurrentPageErrors(onAsyncValidation?: (hasErrors: boolean) => void): boolean;
        /**
         * Validates all questions on the current page and returns `false` if the validation fails.
         *
         * If you use validation expressions and at least one of them calls an async function, the `validateCurrentPage` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
         * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
         * @see currentPage
         * @see validate
         * @see validateCurrentPage
         */
        validateCurrentPage(onAsyncValidation?: (hasErrors: boolean) => void): boolean;
        hasPageErrors(page?: PageModel, onAsyncValidation?: (hasErrors: boolean) => void): boolean;
        /**
         * Validates all questions on a specified page and returns `false` if the validation fails.
         *
         * If you use validation expressions and at least one of them calls an async function, the `validatePage` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
         * @param page Pass the `PageModel` that you want to validate. You can pass `undefined` to validate the [`activePage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#activePage).
         * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
         * @see validate
         * @see validateCurrentPage
         */
        validatePage(page?: PageModel, onAsyncValidation?: (hasErrors: boolean) => void): boolean;
        hasErrors(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void): boolean;
        /**
         * Validates all questions and returns `false` if the validation fails.
         *
         * If you use validation expressions and at least one of them calls an async function, the `validate` method returns `undefined`. In this case, you should pass a callback function as the `onAsyncValidation` parameter. The function's `hasErrors` Boolean parameter will contain the validation result.
         * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
         * @param focusOnFirstError *(Optional)* Pass `true` if you want to focus the first question with a validation error. The survey will be switched to the page that contains this question if required.
         * @param onAsyncValidation *(Optional)* Pass a callback function. It accepts a Boolean `hasErrors` parameter that equals `true` if the validation fails or `false` otherwise.
         * @see validateCurrentPage
         * @see validatePage
         */
        validate(fireCallback?: boolean, focusOnFirstError?: boolean, onAsyncValidation?: (hasErrors: boolean) => void, changeCurrentPage?: boolean): boolean;
        ensureUniqueNames(element?: ISurveyElement): void;
        private ensureUniqueName;
        private ensureUniquePageName;
        private ensureUniquePanelName;
        private ensureUniqueQuestionName;
        private ensureUniqueElementName;
        private getNewName;
        private checkIsCurrentPageHasErrors;
        private checkIsPageHasErrors;
        private fireValidatedErrorsOnPage;
        /**
         * Switches the survey to the previous page.
         *
         * This method returns a Boolean value that indicates whether the page was successfully switched. `false` is returned if the current page is the first page.
         * @returns `true` if the page was successfully switched; `false` otherwise.
         * @see isFirstPage
         * @see nextPage
         */
        prevPage(): boolean;
        private doSkipOnPrevPage;
        private prevPageSingleElement;
        /**
         * Completes the survey if it currently displays the last page and the page contains no validation errors. If both these conditions are met, this method returns `true`; otherwise, `false`.
         *
         * If you want to complete the survey regardless of the current page and validation errors, use the [`doComplete()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completeLastPage) event.
         * @see isCurrentPageValid
         * @see nextPage
         */
        tryComplete(): boolean;
        /**
         * Obsolete. Use the [`tryComplete`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#tryComplete) method instead.
         * @deprecated
         */
        completeLastPage(): boolean;
        private isNavigationButtonPressed;
        navigationMouseDown(): boolean;
        private resetNavigationButton;
        private mouseDownPage;
        nextPageUIClick(): boolean;
        nextPageMouseDown(): boolean;
        /**
         * Displays a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page). Returns `false` if the preview cannot be displayed because of validation errors.
         * @see cancelPreview
         * @see showPreviewBeforeComplete
         * @see onShowingPreview
         * @see state
         */
        showPreview(): boolean;
        private showPreviewCore;
        /**
         * Cancels a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page) and switches the survey to the page specified by the `currentPage` parameter.
         * @param currentPage A new current page. If you do not specify this parameter, the survey displays the last page.
         * @see showPreview
         * @see showPreviewBeforeComplete
         * @see state
         */
        cancelPreview(currentPage?: any): void;
        private gotoPageFromPreview;
        cancelPreviewByPage(panel: IPanel): any;
        protected doCurrentPageComplete(doComplete: boolean): boolean;
        private doCurrentPageCompleteCore;
        isSinglePage: boolean;
        readonly isSingleVisibleQuestion: boolean;
        private isSingleVisibleQuestionVal;
        /*
        * Specifies how to distribute survey elements between pages.
        *
        * Possible values:
        *
        * - `"singlePage"` - Combines all survey pages into a single page.
        * - `"questionPerPage"` - Displays each question on a separate page.
        * - `"standard"` (default) - Retains the original structure specified in the JSON schema.
        */
        questionsOnPageMode: string;
        /*
        * Gets or sets a Boolean value that specifies whether the first page is a start page.
        *
        * Refer to the following help topic for more information: [Start Page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page).
        * @see startedPage
        * @see activePage
        */
        firstPageIsStarted: boolean;
        isPageStarted(page: IPage): boolean;
        /*
        * Allows respondents to preview answers before they are submitted.
        *
        * Possible values:
        *
        * - `"showAllQuestions"` - Displays all questions in the preview.
        * - `"showAnsweredQuestions"` - Displays only answered questions in the preview.
        * - `"noPreview"` (default) - Hides the preview.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/survey-showpreview/ (linkStyle))
        * @see showPreview
        * @see cancelPreview
        */
        showPreviewBeforeComplete: string;
        readonly isShowPreviewBeforeComplete: boolean;
        protected onFirstPageIsStartedChanged(): void;
        private runningPages;
        private pageContainerValue;
        private onShowingPreviewChanged;
        private createRootPage;
        private disposeContainerPage;
        private updatePagesContainer;
        private currentSingleElementValue;
        private getSingleElements;
        currentSingleElement: IElement;
        currentSingleQuestion: Question;
        private changeCurrentSingleElementOnVisibilityChanged;
        private changeCurrentPageFromPreview;
        protected onQuestionsOnPageModeChanged(oldValue: string): void;
        private getPageStartIndex;
        /*
        * Indicates whether the [current page](#currentPage) is the first page.
        *
        * > If the survey displays the [start page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page), this property contains `false`. Use the [`isShowStartingPage`](#isShowStartingPage) property to find out whether the start page is currently displayed.
        */
        readonly isFirstPage: boolean;
        /*
        * Indicates whether the [current page](#currentPage) is the last page.
        */
        readonly isLastPage: boolean;
        private updateButtonsVisibility;
        readonly isShowPrevButton: boolean;
        readonly isShowNextButton: boolean;
        readonly isCompleteButtonVisible: boolean;
        readonly isPreviewButtonVisible: boolean;
        readonly isCancelPreviewButtonVisible: boolean;
        readonly isFirstElement: boolean | undefined;
        readonly isLastElement: boolean | undefined;
        private updateIsFirstLastPageState;
        private readonly isLastPageOrElement: any;
        private readonly isFirstPageOrElement: any;
        private calcIsShowPrevButton;
        private calcIsShowNextButton;
        calcIsCompleteButtonVisible(): boolean;
        private calcIsPreviewButtonVisible;
        private calcIsCancelPreviewButtonVisible;
        private readonly firstVisiblePage: any;
        private readonly lastVisiblePage: any;
        /**
         * Completes the survey.
         *
         * When you call this method, Form Library performs the following actions:
         *
         * 1. Saves a cookie if the [`cookieName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#cookieName) property is set.
         * 1. Switches the survey [`state`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#state) to `"completed"`.
         * 1. Raises the [`onComplete`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onComplete) event.
         * 1. Navigates the user to a URL specified by the [`navigateToUrl`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#navigateToUrl) or [`navigateToUrlOnCondition`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#navigateToUrlOnCondition) property.
         * 1. Calls the [`sendResult()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#sendResult) method if Form Library works with [SurveyJS Service](https://api.surveyjs.io/).
         *
         * The `doComplete()` method completes the survey regardless of validation errors and the current page. If you need to ensure that survey results are valid and full, call the [`completeLastPage()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completeLastPage) method instead.
         *
         * @param isCompleteOnTrigger For internal use.
         * @param completeTrigger For internal use.
         * @returns `false` if survey completion is cancelled within the [`onCompleting`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onCompleting) event handler; otherwise, `true`.
         * @see surveyPostId
         */
        doComplete(isCompleteOnTrigger?: boolean, completeTrigger?: Trigger): boolean;
        private saveDataOnComplete;
        private checkOnCompletingEvent;
        /**
         * Starts the survey. Applies only if the survey has a [start page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#start-page).
         * @see firstPageIsStarted
         * @see completeLastPage
         */
        start(): boolean;
        /*
        * Indicates whether the current page is being [validated on a server](#onServerValidateQuestions).
        */
        readonly isValidatingOnServer: boolean;
        private serverValidationEventCount;
        private setIsValidatingOnServer;
        private createServerValidationOptions;
        protected onIsValidatingOnServerChanged(): void;
        protected doServerValidation(doComplete: boolean, isPreview?: boolean, page?: PageModel): boolean;
        private completeServerValidation;
        protected doNextPage(): void;
        setCompleted(trigger: Trigger): void;
        canBeCompleted(trigger: Trigger, isCompleted: boolean): void;
        private completedByTriggers;
        private readonly canBeCompletedByTrigger: any;
        private readonly completedTrigger: any;
        /*
        * Returns HTML content displayed on the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
        *
        * To specify HTML content, use the [`completedHtml`](#completedHtml) property.
        */
        readonly processedCompletedHtml: string;
        /*
        * Returns HTML content displayed to a user who has completed the survey before. To identify such users, the survey uses a [cookie name](#cookieName) or [client ID](#clientId).
        *
        * To specify HTML content, use the [`completedBeforeHtml`](#completedBeforeHtml) property.
        */
        readonly processedCompletedBeforeHtml: string;
        /*
        * Returns HTML content displayed while a survey JSON schema is being loaded from [SurveyJS Service](https://api.surveyjs.io).
        *
        * To specify HTML content, use the [`loadingHtml`](#loadingHtml) property.
        */
        readonly processedLoadingHtml: string;
        getProgressInfo(): IProgressInfo;
        /*
        * Returns text displayed by the progress bar (for instance, "Page 2 of 3" or "Answered 3/8 questions"). Handle the [`onGetProgressText`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetProgressText) event to change this text.
        * @see progressValue
        * @see showProgressBar
        * @see progressBarType
        */
        readonly progressText: string;
        private isCalculatingProgressText;
        updateProgressText(onValueChanged?: boolean): void;
        getProgressText(): string;
        private getProgressTextCore;
        rootCss: string;
        getRootCss(): string;
        private isSmoothScrollEnabled;
        private resizeObserver;
        afterRenderSurvey(htmlElement: any): void;
        beforeDestroySurveyElement(): void;
        /**
         * An event that is raised when the survey's width or height is changed.
         */
        onResize: EventBase<SurveyModel, ResizeEvent>;
        private processResponsiveness;
        triggerResponsiveness(hard: boolean): void;
        destroyResizeObserver(): void;
        updateQuestionCssClasses(question: Question, cssClasses: any): void;
        updatePanelCssClasses(panel: PanelModel, cssClasses: any): void;
        updatePageCssClasses(page: PageModel, cssClasses: any): void;
        updateChoiceItemCss(question: IQuestion, options: any): void;
        private isCurrentPageRendering;
        private isCurrentPageRendered;
        afterRenderPage(htmlElement: HTMLElement): void;
        afterRenderHeader(htmlElement: HTMLElement): void;
        afterRenderQuestion(question: Question, htmlElement: HTMLElement): void;
        afterRenderQuestionInput(question: Question, htmlElement: HTMLElement): void;
        afterRenderPanel(panel: IElement, htmlElement: HTMLElement): void;
        whenQuestionFocusIn(question: Question): void;
        whenPanelFocusIn(panel: PanelModel): void;
        private rebuildQuestionChoices;
        canChangeChoiceItemsVisibility(): boolean;
        getChoiceItemVisibility(question: Question, item: any, val: boolean): boolean;
        loadQuestionChoices(options: {
            question: Question;
            filter: string;
            skip: number;
            take: number;
            setItems: (items: Array<any>, totalCount: number) => void;
        }): void;
        getChoiceDisplayValue(options: {
            question: Question;
            values: Array<any>;
            setItems: (displayValues: Array<string>, ...customValues: Array<IValueItemCustomPropValues>) => void;
        }): void;
        matrixBeforeRowAdded(options: any): void;
        matrixRowAdded(question: QuestionMatrixDynamicModel, row: any): void;
        matrixColumnAdded(question: Question, column: any): void;
        multipleTextItemAdded(question: QuestionMultipleTextModel, item: any): void;
        getQuestionByValueNameFromArray(valueName: string, name: string, index: number): IQuestion;
        matrixRowRemoved(question: QuestionMatrixDynamicModel, rowIndex: number, row: any): void;
        matrixRowRemoving(question: QuestionMatrixDynamicModel, rowIndex: number, row: any): boolean;
        matrixAllowRemoveRow(question: QuestionMatrixDynamicModel, rowIndex: number, row: any): boolean;
        matrixDetailPanelVisibleChanged(question: QuestionMatrixDropdownModelBase, rowIndex: number, row: any, visible: boolean): void;
        matrixCellCreating(question: QuestionMatrixDropdownModelBase, options: any): void;
        matrixCellCreated(question: QuestionMatrixDropdownModelBase, options: any): void;
        matrixAfterCellRender(question: QuestionMatrixDropdownModelBase, options: any): void;
        matrixCellValueChanged(question: QuestionMatrixDropdownModelBase, options: any): void;
        matrixCellValueChanging(question: QuestionMatrixDropdownModelBase, options: MatrixCellValueChangingEvent): void;
        readonly isValidateOnValueChanging: boolean;
        readonly isValidateOnValueChanged: boolean;
        private readonly isValidateOnValueChange: any;
        private readonly isValidateOnComplete: any;
        matrixCellValidate(question: QuestionMatrixDropdownModelBase, options: MatrixCellValidateEvent): SurveyError;
        dynamicPanelAdded(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel, updateIndexes: boolean): void;
        dynamicPanelRemoved(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel, updateIndexes: boolean): void;
        dynamicPanelRemoving(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel): boolean;
        dynamicPanelItemValueChanged(question: IQuestion, options: any): void;
        dynamicPanelItemValueChanging(question: IQuestion, options: any): void;
        dynamicPanelGetTabTitle(question: IQuestion, options: any): void;
        dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
        dragAndDropAllow(options: DragDropAllowEvent): boolean;
        elementContentVisibilityChanged(element: ISurveyElement): void;
        getUpdatedPanelFooterActions(panel: PanelModel, actions: Array<IAction>, question?: QuestionPanelDynamicModel): Array<IAction>;
        getUpdatedElementTitleActions(element: ISurveyElement, titleActions: Array<IAction>): Array<IAction>;
        private getTitleActionsResult;
        private getUpdatedQuestionTitleActions;
        private getUpdatedPanelTitleActions;
        private getUpdatedPageTitleActions;
        getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
        skeletonHeight: number;
        scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement, onScolledCallback?: () => void): any;
        /**
         * Opens a dialog window for users to select files.
         * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
         * @param callback A callback function that you can use to process selected files. Accepts an array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects.
         * @see onOpenFileChooser
         * @see onUploadFile
         */
        chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
            element: Base;
            item?: any;
            elementType?: string;
            propertyName?: string;
        }): void;
        /**
         * Uploads files to a server.
         *
         * The following code shows how to call this method:
         *
         * ```js
         * const question = survey.getQuestionByName("myFileQuestion");
         * survey.uploadFiles(
         *   question,
         *   question.name,
         *   question.value,
         *   (data, errors) => {
         *     // ...
         *   }
         * );
         * ```
         * @param question A [File Upload question instance](https://surveyjs.io/form-library/documentation/api-reference/file-model) or [Signature Pad question instance](https://surveyjs.io/form-library/documentation/api-reference/signature-pad-model).
         * @param name The File Upload question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/file-model#name) or Signature Pad question's [`name`](https://surveyjs.io/form-library/documentation/api-reference/signature-pad-model#name).
         * @param files An array of JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/File" target="_blank">File</a> objects that represent files to upload.
         * @param callback A callback function that allows you to access successfully uploaded files as the first argument. If any files fail to upload, the second argument contains an array of error messages.
         * @see onUploadFiles
         * @see downloadFile
         */
        uploadFiles(question: QuestionFileModel | QuestionSignaturePadModel, name: string, files: File[], callback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
        downloadFile(question: QuestionFileModel, questionName: string, fileValue: any, callback: (status: string, data: any) => any): void;
        clearFiles(question: QuestionFileModel | QuestionSignaturePadModel, name: string, value: any, fileName: string, callback: (status: string, data: any) => any): void;
        updateChoicesFromServer(question: QuestionSelectBase, choices: Array<ItemValue>, serverResult: any): Array<ItemValue>;
        loadedChoicesFromServer(question: IQuestion): void;
        protected createSurveyService(): dxSurveyService;
        protected uploadFilesCore(name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): void;
        getPage(index: number): PageModel;
        /**
         * Adds an existing page to the survey.
         * @param page A page to add.
         * @param index An index at which to insert the page. If you do not specify this parameter, the page will be added to the end.
         * @see addNewPage
         * @see createNewPage
         */
        addPage(page: PageModel, index?: number): void;
        /**
         * Creates a new page and adds it to the survey.
         *
         * If you want to switch a survey to the newly added page, assign its index to the [`currentPageNo`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#currentPageNo) property or assign the entire page to the [`currentPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#currentPage) property.
         *
         * @param name A page name. If you do not specify this parameter, it will be generated automatically.
         * @param index An index at which to insert the page. If you do not specify this parameter, the page will be added to the end.
         * @returns The created and added page.
         * @see addPage
         * @see createNewPage
         */
        addNewPage(name?: string, index?: number): PageModel;
        /**
         * Removes a page from the survey.
         *
         * Pass a `PageModel` object to this method. You can get this object in different ways. For example, you can call the [`getPageByName()`](#getPageByName) method to obtain a `PageModel` object with a specific name or use the [`currentPage`](#currentPage) property to access and delete the current page, as shown in the code below.
         *
         * ```js
         * // Delete the current page
         * survey.removePage(survey.currentPage);
         * ```
         * @param page A page to remove.
         * @see addNewPage
         */
        removePage(page: PageModel): void;
        /**
         * Returns a question with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name).
         * @param name A question name
         * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
         * @returns A question with a specified name.
         * @see getAllQuestions
         * @see getQuestionByValueName
         */
        getQuestionByName(name: string, caseInsensitive?: boolean): Question;
        findQuestionByName(name: string): IQuestion;
        getEditingSurveyElement(): Base;
        /**
         * Returns a question with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName).
         *
         * > Since `valueName` does not have to be unique, multiple questions can have the same `valueName` value. In this case, the `getQuestionByValueName()` method returns the first such question. If you need to get all questions with the same `valueName`, call the `getQuestionsByValueName()` method.
         * @param valueName A question's `valueName` property value.
         * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
         * @returns A question with a specified `valueName`.
         * @see getAllQuestions
         * @see getQuestionByName
         */
        getQuestionByValueName(valueName: string, caseInsensitive?: boolean): Question;
        /**
         * Returns all questions with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName). If a question's `valueName` is undefined, its [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name) property is used.
         * @param valueName A question's `valueName` property value.
         * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
         * @returns An array of questions with a specified `valueName`.
         * @see getAllQuestions
         * @see getQuestionByName
         */
        getQuestionsByValueName(valueName: string, caseInsensitive?: boolean): Array<Question>;
        getCalculatedValueByName(name: string): CalculatedValue;
        getQuestionsByNames(names: string[], caseInsensitive?: boolean): IQuestion[];
        /**
         * Returns a page to which a specified survey element (question or panel) belongs.
         * @param element A question or panel instance.
         */
        getPageByElement(element: IElement): PageModel;
        /**
         * Returns a page to which a specified question belongs.
         * @param question A question instance.
         */
        getPageByQuestion(question: IQuestion): PageModel;
        /**
         * Returns a page with a specified name.
         * @param name A page [name](https://surveyjs.io/form-library/documentation/api-reference/page-model#name).
         */
        getPageByName(name: string): PageModel;
        getPagesByNames(names: string[]): PageModel[];
        /**
         * Returns a list of all [questions](https://surveyjs.io/form-library/documentation/api-reference/question) in the survey.
         * @param visibleOnly A Boolean value that specifies whether to include only visible questions.
         * @param includeDesignTime For internal use.
         * @param includeNested A Boolean value that specifies whether to include nested questions, such as questions within matrix cells.
         * @returns An array of questions.
         * @see getQuestionByName
         */
        getAllQuestions(visibleOnly?: boolean, includeDesignTime?: boolean, includeNested?: boolean): Array<Question>;
        private getNestedQuestionsByQuestionArray;
        /**
         * Returns an array of quiz questions. A question counts if it is visible, has an input field, and specifies [`correctAnswer`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#correctAnswer).
         *
         * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
         * @returns An array of quiz questions.
         * @see getQuizQuestionCount
         */
        getQuizQuestions(): Array<IQuestion>;
        /**
         * Returns a [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/panel-model#name).
         * @param name A panel name.
         * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the panel. Default value: `false` (uppercase and lowercase letters are treated as distinct).
         * @returns A panel with a specified name.
         * @see getAllPanels
         */
        getPanelByName(name: string, caseInsensitive?: boolean): PanelModel;
        /**
         * Returns a list of all [panels](https://surveyjs.io/form-library/documentation/api-reference/panel-model) in the survey.
         * @param visibleOnly A Boolean value that specifies whether to include only visible panels.
         * @param includeDesignTime For internal use.
         * @returns An array of panels.
         * @see getPanelByName
         */
        getAllPanels(visibleOnly?: boolean, includeDesignTime?: boolean): Array<IPanel>;
        /**
         * Creates and returns a new page but does not add it to the survey.
         *
         * Call the [`addPage(page)`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#addPage) method to add the created page to the survey later or the [`addNewPage(name, index)`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#addNewPage) method to create _and_ add a page to the survey.
         * @see addPage
         * @see addNewPage
         */
        createNewPage(name: string): PageModel;
        private getValueChangeReason;
        protected questionOnValueChanging(valueName: string, newValue: any, questionValueName?: string): any;
        private getLocNotification;
        protected updateQuestionValue(valueName: string, newValue: any): void;
        private checkQuestionErrorOnValueChanged;
        private checkQuestionErrorOnValueChangedCore;
        private checkErrorsOnValueChanging;
        private fireOnValueChanged;
        protected notifyQuestionOnValueChanged(valueName: string, newValue: any, questionName: string): void;
        private isRunningElementsBindings;
        private updateVisibleIndexAfterBindings;
        private checkElementsBindings;
        private notifyElementsOnAnyValueOrVariableChanged;
        private updateAllQuestionsValue;
        private notifyAllQuestionsOnValueChanged;
        private checkOnPageTriggers;
        private getCurrentPageQuestions;
        private isTriggerIsRunning;
        private triggerValues;
        private triggerKeys;
        private checkTriggers;
        private checkTriggersAndRunConditions;
        private readonly hasRequiredValidQuestionTrigger: any;
        private doElementsOnLoad;
        private conditionValues;
        private readonly isRunningConditions: any;
        private isValueChangedOnRunningCondition;
        private conditionRunnerCounter;
        private conditionUpdateVisibleIndexes;
        private conditionNotifyElementsOnAnyValueOrVariableChanged;
        /**
         * Recalculates all [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) in the survey.
         */
        runExpressions(): void;
        private runConditions;
        private questionTriggersKeys;
        private runConditionOnValueChanged;
        private runConditionsCore;
        private runQuestionsTriggers;
        private checkIfNewPagesBecomeVisible;
        /**
         * Posts a survey result to [SurveyJS Service](https://api.surveyjs.io/).
         * @param postId An identifier used to save survey results. You can find it on the [My Surveys](https://surveyjs.io/service/mysurveys) page. If you do not specify this parameter, the survey uses the [`surveyPostId`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#surveyPostId) property value.
         * @param clientId A respondent identifier (e-mail or other unique ID). This ID ensures that the respondent does not pass the same survey twice.
         * @param isPartial Pass `true` to save partial survey results (see [Continue an Incomplete Survey](https://surveyjs.io/form-library/documentation/handle-survey-results-continue-incomplete)).
         */
        sendResult(postId?: string, clientId?: string, isPartial?: boolean): void;
        /**
         * Requests [SurveyJS Service](https://api.surveyjs.io/) to retrieve all answers to a specified question. Handle the [`onGetResult`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetResult) event to access the answers.
         * @param resultId A result ID that identifies the required survey. You can find it on the [My Surveys](https://surveyjs.io/service/mysurveys) page.
         * @param questionName A question name.
         */
        getResult(resultId: string, questionName: string): void;
        /**
         * Loads a survey JSON schema from the [SurveyJS Service](https://api.surveyjs.io). You can handle the [`onLoadedSurveyFromService`](#onLoadedSurveyFromService) event to modify the schema after loading if required.
         * @param surveyId The identifier of a survey JSON schema to load. Refer to the following help topic for more information: [Store Survey Results in the SurveyJS Service](https://surveyjs.io/form-library/documentation/handle-survey-results-store#store-survey-results-in-the-surveyjs-service).
         * @param clientId A user identifier (e-mail or other unique ID) used to determine whether the user has already taken the survey.
         */
        loadSurveyFromService(surveyId?: string, clientId?: string): void;
        private loadSurveyFromServiceJson;
        protected onLoadingSurveyFromService(): void;
        protected onLoadSurveyFromService(): void;
        private resetVisibleIndexes;
        private updateVisibleIndexes;
        private updatePageElementsVisibleIndexes;
        private getStartVisibleIndex;
        private updatePageVisibleIndexes;
        fromJSON(json: any, options?: ILoadFromJSONOptions): void;
        startLoadingFromJson(json?: any): void;
        setJsonObject(jsonObj: any): void;
        private isEndLoadingFromJson;
        endLoadingFromJson(): void;
        private updateNavigationCss;
        private updateNavigationItemCssCallback;
        private updateNavigationBarCss;
        protected createNavigationBar(): ActionContainer;
        protected createNavigationActions(): Array<IAction>;
        protected onBeforeRunConstructor(): void;
        protected onBeforeCreating(): void;
        protected onCreating(): void;
        private getProcessedTextValue;
        getBuiltInVariableValue(name: string): number;
        private getProcessedTextValueCore;
        private getProcessedValuesWithoutQuestion;
        private getFirstName;
        private reduceFirstName;
        private isClearingUnsedValues;
        private clearUnusedValues;
        hasVisibleQuestionByValueName(question: IQuestion): boolean;
        questionsByValueName(valueName: string): Array<IQuestion>;
        private clearInvisibleQuestionValues;
        /**
         * Returns a variable value.
         *
         * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
         * @param name A variable name.
         * @return A variable value.
         * @see setVariable
         * @see getVariableNames
         */
        getVariable(name: string): any;
        /**
         * Sets a variable value.
         *
         * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
         * @param name A variable name.
         * @param newValue A new variable value.
         * @see getVariable
         * @see getVariableNames
         */
        setVariable(name: string, newValue: any): void;
        /**
         * Returns the names of all variables in the survey.
         *
         * [Variables help topic](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#variables (linkStyle))
         * @returns An array of variable names.
         * @see getVariable
         * @see setVariable
         */
        getVariableNames(): Array<string>;
        protected getUnbindValue(value: any): any;
        /**
         * Returns a value (answer) for a question with a specified `name`.
         * @param name A question name.
         * @returns A question value (answer).
         * @see data
         * @see setValue
         */
        getValue(name: string): any;
        /**
         * Sets a question value (answer).
         *
         * > This method executes all triggers and reevaluates conditions (`visibleIf`, `requiredId`, and others). It also switches the survey to the next page if the [`goNextPageAutomatic`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) property is enabled and all questions on the current page have correct answers.
         * @param name A question name.
         * @param newValue A new question value.
         * @param locNotification For internal use.
         * @param allowNotifyValueChanged For internal use.
         * @see data
         * @see getValue
         */
        setValue(name: string, newQuestionValue: any, locNotification?: any, allowNotifyValueChanged?: boolean, questionName?: string): void;
        private isValueEmpyOnSetValue;
        private nofifyQuesitonHash;
        private updateOnSetValue;
        private isValueEqual;
        protected doOnPageAdded(page: PageModel): void;
        protected doOnPageRemoved(page: PageModel): void;
        private generateNewName;
        protected tryGoNextPageAutomatic(name: string): void;
        private tryCompleteOrShowPreview;
        /**
         * Returns a comment value from a question with a specified `name`.
         * @param name A question name.
         * @returns A comment.
         * @see setComment
         */
        getComment(name: string): string;
        /**
         * Sets a comment value to a question with a specified `name`.
         * @param name A question name.
         * @param newValue A new comment value.
         * @param locNotification For internal use.
         * @see getComment
         */
        setComment(name: string, newValue: string, locNotification?: any): void;
        /**
         * Deletes an answer from survey results.
         * @param {string} name An object property that stores the answer to delete. Pass a question's [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName) or [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name).
         */
        clearValue(name: string): void;
        /*
        * Specifies whether to remove disabled choices from the value in [Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model), [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model), and [Radio Button Group](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model) questions.
        *
        * Default value: `false`
        *
        * > This property cannot be specified in the survey JSON schema. Use dot notation to specify it.
        */
        clearValueOnDisableItems: boolean;
        getQuestionClearIfInvisible(questionClearIf: string): string;
        questionVisibilityChanged(question: Question, newValue: boolean, resetIndexes: boolean): void;
        pageVisibilityChanged(page: PageModel, newValue: boolean): void;
        panelVisibilityChanged(panel: PanelModel, newValue: boolean): void;
        questionCreated(question: Question): any;
        questionAdded(question: Question, index: number, parentPanel: any, rootPanel: any): void;
        private canFireAddElement;
        questionRemoved(question: Question): void;
        questionRenamed(question: IQuestion, oldName: string, oldValueName: string): any;
        private questionHashes;
        private questionHashesClear;
        private questionHashesPanelAdded;
        private questionHashesAdded;
        private questionHashesRemoved;
        private questionHashAddedCore;
        private questionHashRemovedCore;
        panelAdded(panel: PanelModel, index: number, parentPanel: any, rootPanel: any): void;
        panelRemoved(panel: PanelModel): void;
        validateQuestion(question: Question): SurveyError;
        validatePanel(panel: PanelModel): SurveyError;
        processHtml(html: string, reason?: string): string;
        processText(text: string, returnDisplayValue: boolean): string;
        processTextEx(params: ITextProcessorProp): ITextProcessorResult;
        private textPreProcessorValue;
        private readonly textPreProcessor: any;
        getSurveyMarkdownHtml(element: Question | PanelModel | PageModel | SurveyModel, text: string, name: string): string;
        getCorrectedAnswerCount(): number;
        /**
         * Returns the number of correct answers in a quiz.
         *
         * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
         * @returns The number of correct answers in a quiz.
         * @see getQuizQuestionCount
         * @see getIncorrectAnswerCount
         */
        getCorrectAnswerCount(): number;
        /**
         * Returns the number of quiz questions. A question counts if it is visible, has an input field, and specifies [`correctAnswer`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#correctAnswer).
         *
         * This number may be different from `getQuizQuestions().length` because certain question types (for instance, matrix-like types) include more than one question.
         *
         * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
         * @returns The number of quiz questions.
         * @see getQuizQuestions
         */
        getQuizQuestionCount(): number;
        getInCorrectedAnswerCount(): number;
        getInCorrectAnswerCount(): number;
        /**
         * Returns the number of incorrect answers in a quiz.
         *
         * For more information about quizzes, refer to the following tutorial: [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
         * @returns The number of incorrect answers in a quiz.
         * @see getCorrectAnswerCount
         */
        getIncorrectAnswerCount(): number;
        onCorrectQuestionAnswer(question: IQuestion, options: any): void;
        private getCorrectedAnswerCountCore;
        getCorrectedAnswers(): number;
        getInCorrectedAnswers(): number;
        /*
        * Obsolete. Use the [`showTimer`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTimer) and [`timerLocation`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timerLocation) properties instead.
        * @deprecated
        */
        showTimerPanel: string;
        /*
        * Specifies the timer's visibility. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
        *
        * Default value: `false`
        *
        * If you set this property to `true`, the timer starts automatically when the survey begins. To specify time limits, use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimit) and [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimitPerPage) properties.
        *
        * The timer displays information about time spent on an individual page and the entire survey. If you want to display only the page timer or the survey timer, set the [`timerInfoMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timerInfoMode) property to `"page"` or `"survey"`.
        *
        * You can enable the timer without displaying it. In this case, you need to specify the required time limits and use the [`startTimer()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#startTimer) and [`stopTimer()`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#stopTimer) methods to control the timer.
        * @see timerLocation
        * @see timeSpent
        * @see onTimerTick
        */
        showTimer: boolean;
        /*
        * Specifies the timer's position relative to the survey. Applies only if the [`showTimer`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTimer) property is set to `true`.
        *
        * Possible values:
        *
        * - `"top"` (default) - Displays the timer at the top of the survey.
        * - `"bottom"` - Displays the timer at the bottom of the survey.
        * @see onTimerTick
        */
        timerLocation: string;
        readonly isTimerPanelShowingOnTop: boolean;
        readonly isTimerPanelShowingOnBottom: boolean;
        /*
        * Specifies whether the timer panel displays timers for the current page, the entire survey, or both. Applies only if the timer panel is [visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTimer).
        *
        * Possible values:
        *
        * - `"survey"` - Displays only the survey timer.
        * - `"page"` - Displays only the page timer.
        * - `"combined"` (default) - Displays both the survey and page timers.
        * @see timeSpent
        * @see onTimerTick
        * @see startTimer
        * @see stopTimer
        */
        timerInfoMode: string;
        private getTimerInfoVal;
        /*
        * Obsolete. Use the [`timerInfoMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timerInfoMode) property instead.
        * @deprecated
        */
        showTimerPanelMode: string;
        gridLayoutEnabled: boolean;
        updateGridColumns(): void;
        /*
        * Specifies how to calculate the survey width.
        *
        * Possible values:
        *
        * - `"static"` - A survey has a [fixed width](#width).
        * - `"responsive"` - A survey occupies all available horizontal space and stretches or shrinks horizontally to fit in the screen size.
        * - `"auto"` (default) - Survey width depends on a question type and corresponds to the `"static"` or `"responsive"` mode.
        */
        widthMode: string;
        private calculatedWidthModeUpdater;
        setCalculatedWidthModeUpdater(): void;
        calculatedWidthMode: string;
        calculateWidthMode(): string;
        /*
        * A survey width in CSS values.
        *
        * Default value: `undefined` (the survey inherits the width from its container)
        * @see onResize
        */
        width: string;
        readonly renderedWidth: string;
        widthScale: number;
        staticStartWidth: number;
        setStaticStartWidth(width: number): void;
        responsiveStartWidth: number;
        setResponsiveStartWidth(width: number): void;
        readonly isScaled: boolean;
        readonly timerInfo: {
            spent: number;
            limit?: number;
        };
        readonly timerClock: {
            majorText: string;
            minorText?: string;
        };
        readonly timerInfoText: string;
        private getTimerInfo;
        private getTimerInfoText;
        private getTimerInfoPageText;
        private getTimerInfoSurveyText;
        private getDisplayClockTime;
        private getDisplayTime;
        readonly timerModel: SurveyTimerModel;
        /**
         * Starts a timer that calculates how many seconds a respondent has spent on the survey. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
         * @see stopTimer
         * @see timeLimit
         * @see timeLimitPerPage
         * @see timeSpent
         * @see onTimerTick
         */
        startTimer(): void;
        startTimerFromUI(): void;
        /**
         * Stops the timer. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
         * @see startTimer
         * @see timeLimit
         * @see timeLimitPerPage
         * @see timeSpent
         * @see onTimerTick
         */
        stopTimer(): void;
        /*
        * A time period that a respondent has spent on the survey so far; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
        *
        * Assign a number to this property if you need to start the quiz timer from a specific time (for instance, if you want to continue an interrupted quiz).
        *
        * You can also find out how many seconds a respondent has spent on an individual survey page. To do this, use the [`timeSpent`](https://surveyjs.io/form-library/documentation/api-reference/page-model#timeSpent) property of a [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model) object.
        * @see timeLimit
        * @see timeLimitPerPage
        * @see startTimer
        */
        timeSpent: number;
        /*
        * A time period that a respondent has to complete the survey; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
        *
        * Default value: 0 (time is unlimited)
        *
        * [View Demo](https://surveyjs.io/form-library/examples/make-quiz-javascript/ (linkStyle))
        * @see timeLimitPerPage
        * @see startTimer
        * @see timeSpent
        */
        timeLimit: number;
        /*
        * Obsolete. Use the [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimit) property instead.
        * @deprecated
        */
        maxTimeToFinish: number;
        /*
        * A time period that a respondent has to complete each survey page; measured in seconds. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
        *
        * Default value: 0 (time is unlimited)
        *
        * You can also use `PageModel`'s [`timeLimit`](https://surveyjs.io/form-library/documentation/api-reference/page-model#timeLimit) property to specify a time period for an individual survey page.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/make-quiz-javascript/ (linkStyle))
        * @see timeLimit
        * @see startTimer
        * @see timeSpent
        */
        timeLimitPerPage: number;
        /*
        * Obsolete. Use the [`timeLimitPerPage`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#timeLimitPerPage) property instead.
        * @deprecated
        */
        maxTimeToFinishPage: number;
        private doTimer;
        readonly inSurvey: boolean;
        getSurveyData(): ISurveyData;
        getSurvey(): ISurvey;
        getTextProcessor(): ITextProcessor;
        getObjects(pages: string[], questions: string[]): any[];
        setTriggerValue(name: string, value: any, isVariable: boolean): void;
        copyTriggerValue(name: string, fromName: string, copyDisplayValue: boolean): void;
        triggerExecuted(trigger: Trigger): void;
        private setValueFromTriggerCounter;
        readonly isSettingValueFromTrigger: boolean;
        private startSetValueFromTrigger;
        private finishSetValueFromTrigger;
        private focusingQuestionInfo;
        private isMovingQuestion;
        startMovingQuestion(): void;
        stopMovingQuestion(): void;
        readonly isQuestionDragging: boolean;
        needRenderIcons: boolean;
        private skippedPages;
        /**
         * Focuses a question with a specified name. Switches the current page if needed.
         * @param name A question name.
         * @returns `false` if the survey does not contain a question with a specified name or this question is hidden; otherwise, `true`.
         * @see focusFirstQuestion
         * @see focusFirstQuestionAutomatic
         */
        focusQuestion(name: string): boolean;
        focusQuestionByInstance(question: Question, onError?: boolean): boolean;
        private focusQuestionInfo;
        questionEditFinishCallback(question: Question, event: any): void;
        private elementWrapperComponentNameCore;
        private elementWrapperDataCore;
        getElementWrapperComponentName(element: any, reason?: string): string;
        getQuestionContentWrapperComponentName(element: any): string;
        getRowWrapperComponentName(row: QuestionRowModel): string;
        getItemValueWrapperComponentName(item: ItemValue, question: QuestionSelectBase): string;
        getElementWrapperComponentData(element: any, reason?: string): any;
        getRowWrapperComponentData(row: QuestionRowModel): any;
        getItemValueWrapperComponentData(item: ItemValue, question: QuestionSelectBase): any;
        getMatrixCellTemplateData(cell: any): any;
        searchText(text: string): Array<IFindElement>;
        skeletonComponentName: string;
        getSkeletonComponentName(element: ISurveyElement): string;
        private layoutElements;
        /**
         * Adds an element to the survey layout.
         *
         * This method accepts an object with the following layout element properties:
         *
         * - `id`: `string` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"buttons-navigation"`\
         * A layout element identifier. You can use possible values to access and relocate or customize predefined layout elements.
         *
         * - `container`: `"header"` | `"footer"` | `"left"` | `"right"` | `"contentTop"` | `"contentBottom"`\
         * A layout container that holds the element. If you want to display the element within multiple containers, set this property to an array of possible values.
         *
         * - `component`: `string`\
         * The name of the component that renders the layout element.
         *
         * - `data`: `any`\
         * Data passed as props to `component`.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/progress-bar-with-percentage/ (linkStyle))
         * @param layoutElement A layout element configuration.
         * @returns The configuration of the previous layout element with the same `id`.
         */
        addLayoutElement(layoutElement: ISurveyLayoutElement): ISurveyLayoutElement;
        findLayoutElement(layoutElementId: string): ISurveyLayoutElement;
        removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
        getContainerContent(container: LayoutElementContainer): any[];
        processPopupVisiblityChanged(question: Question, popup: PopupModel<any>, visible: boolean): void;
        processOpenDropdownMenu(question: Question, options: IDropdownMenuOptions): void;
        getCssTitleExpandableSvg(): string;
        /**
         * Applies a specified theme to the survey.
         *
         * [Themes & Styles](https://surveyjs.io/form-library/documentation/manage-default-themes-and-styles (linkStyle))
         * @param theme An [`ITheme`](https://surveyjs.io/form-library/documentation/api-reference/itheme) object with theme settings.
         */
        applyTheme(theme: ITheme): void;
        themeChanged(theme: ITheme): void;
        private taskManager;
        /**
         * Disposes of the survey model.
         *
         * Call this method to release resources if your application contains multiple survey models or if you re-create a survey model at runtime.
         */
        dispose(): void;
        disposeCallback: () => void;
        private onScrollCallback;
        _isElementShouldBeSticky(selector: string): boolean;
        onScroll(): void;
        addScrollEventListener(): void;
        removeScrollEventListener(): void;
        questionErrorComponent: string;
    }
}
declare module "packages/survey-core/src/survey-element" {
    import { Base, EventBase } from "packages/survey-core/src/base";
    import { IAction } from "packages/survey-core/src/actions/action";
    import { AdaptiveActionContainer } from "packages/survey-core/src/actions/adaptive-container";
    import { ISurveyElement, IPage, IPanel, IProgressInfo, ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, ITitleOwner } from "packages/survey-core/src/base-interfaces";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    /**
     * A base class for the [`SurveyElement`](https://surveyjs.io/form-library/documentation/surveyelement) and [`SurveyModel`](https://surveyjs.io/form-library/documentation/surveymodel) classes.
     */
    export abstract class SurveyElementCore extends Base implements ILocalizableOwner {
        constructor();
        protected createLocTitleProperty(): LocalizableString;
        /*
        * Returns `true` if the survey element is a page.
        *
        * This property returns `false` for [`PageModel`](https://surveyjs.io/form-library/documentation/api-reference/page-model) objects in the following cases:
        *
        * - `SurveyModel`'s [`questionsOnPageMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode) is set to `"singlePage"`.
        * - The page is included in a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page).
        *
        * In those cases, the survey creates an internal `PageModel` object to show all questions on one page, and all regular pages become panels.
        */
        readonly isPage: boolean;
        /*
        * Returns `true` if the survey element is a panel or acts as one.
        *
        * This property returns `true` for `PageModel` objects in the following cases:
        *
        * - `SurveyModel`'s [`questionsOnPageMode`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionsOnPageMode) is set to `"singlePage"`.
        * - The page is included in a [preview of given answers](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#preview-page).
        *
        * In those cases, the survey creates an internal `PageModel` object to show all questions on one page, and all regular pages become panels.
        */
        readonly isPanel: boolean;
        /*
        * Returns `true` if the survey element is a question.
        */
        readonly isQuestion: boolean;
        /*
        * Returns `true` if the element is a survey.
        */
        readonly isSurvey: boolean;
        /*
        * A title for the survey element. If `title` is undefined, the `name` property value is displayed instead.
        *
        * Empty pages and panels do not display their titles or names.
        *
        * @see [Configure Question Titles](https://surveyjs.io/form-library/documentation/design-survey-question-titles)
        */
        title: string;
        readonly locTitle: LocalizableString;
        protected getDefaultTitleValue(): string;
        protected setTitleValue(val: string): void;
        /**
         * Returns `true` if the survey element has a description.
         * @see description
        */
        hasDescription: boolean;
        /**
         * Explanatory text displayed under the title.
         * @see hasDescription
         */
        description: string;
        updateDescriptionVisibility(newDescription: any): void;
        readonly locDescription: LocalizableString;
        readonly titleTagName: string;
        protected getDefaultTitleTagName(): string;
        readonly hasTitle: boolean;
        readonly hasTitleActions: boolean;
        readonly hasTitleEvents: boolean;
        getTitleToolbar(): AdaptiveActionContainer;
        getTitleOwner(): ITitleOwner;
        readonly isTitleOwner: boolean;
        readonly isTitleRenderedAsString: boolean;
        toggleState(): boolean;
        readonly cssClasses: any;
        readonly cssTitle: string;
        readonly ariaTitleId: string;
        readonly ariaDescriptionId: string;
        readonly titleTabIndex: number;
        readonly titleAriaExpanded: any;
        readonly titleAriaRole: any;
        readonly ariaLabel: string;
        readonly titleAriaLabel: string | null;
        protected getIsTitleRenderedAsString(): boolean;
        abstract getLocale(): string;
        abstract getMarkdownHtml(text: string, name: string): string;
        abstract getRenderer(name: string): string;
        abstract getRendererContext(locStr: LocalizableString): any;
        abstract getProcessedText(text: string): string;
    }
    export enum DragTypeOverMeEnum {
        InsideEmptyPanel = 1,
        MultilineRight = 2,
        MultilineLeft = 3,
        Top = 4,
        Right = 5,
        Bottom = 6,
        Left = 7
    }
    /**
     * A base class for all survey elements.
     */
    export class SurveyElement<E = any> extends SurveyElementCore implements ISurveyElement {
        stateChangedCallback: () => void;
        static getProgressInfoByElements(children: Array<SurveyElement>, isRequired: boolean): IProgressInfo;
        private surveyImplValue;
        private surveyDataValue;
        private surveyValue;
        private textProcessorValue;
        private selectedElementInDesignValue;
        dragTypeOverMe: DragTypeOverMeEnum;
        isDragMe: boolean;
        readOnlyChangedCallback: () => void;
        private static IsNeedScrollIntoView;
        static ScrollIntoView(el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): void;
        static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
        static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, doneCallback?: () => void): boolean;
        static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
        static FocusElement(elementId: string, isTimeOut?: boolean, containerEl?: HTMLElement): boolean;
        private static focusElementCore;
        static CreateDisabledDesignElements: boolean;
        disableDesignActions: boolean;
        effectiveColSpan: number;
        colSpan: number;
        constructor(name: string);
        protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
        protected getSkeletonComponentNameCore(): string;
        private parentQuestionValue;
        /*
        * A Dynamic Panel, Dynamic Matrix, or Dropdown Matrix that includes the current question.
        *
        * This property is `null` for standalone questions.
        */
        readonly parentQuestion: E;
        setParentQuestion(val: E): void;
        protected onParentQuestionChanged(): void;
        updateElementVisibility(): void;
        readonly skeletonComponentName: string;
        /*
        * Gets and sets the survey element's expand state.
        *
        * Possible values:
        *
        * - `"default"` (default) - The survey element is displayed in full and cannot be collapsed in the UI.
        * - `"expanded"` - The survey element is displayed in full and can be collapsed in the UI.
        * - `"collapsed"` - The survey element displays only `title` and `description` and can be expanded in the UI.
        *
        * @see toggleState
        * @see collapse
        * @see expand
        * @see isCollapsed
        * @see isExpanded
        */
        state: string;
        protected notifyStateChanged(prevState: string): void;
        /*
        * Returns `true` if the survey element is collapsed.
        * @see state
        * @see toggleState
        * @see collapse
        * @see expand
        * @see isExpanded
        */
        readonly isCollapsed: boolean;
        /*
        * Returns `true` if the survey element is expanded.
        * @see state
        * @see toggleState
        * @see collapse
        * @see expand
        * @see isCollapsed
        */
        readonly isExpanded: boolean;
        /**
         * Collapses the survey element.
         *
         * In collapsed state, the element displays only `title` and `description`.
         * @see title
         * @see description
         * @see state
         * @see toggleState
         * @see expand
         * @see isCollapsed
         * @see isExpanded
         */
        collapse(): void;
        /**
         * Expands the survey element.
         * @see state
         * @see toggleState
         * @see collapse
         * @see isCollapsed
         * @see isExpanded
         */
        expand(): void;
        /**
         * Toggles the survey element's `state` between collapsed and expanded.
         * @see state
         * @see collapse
         * @see expand
         * @see isCollapsed
         * @see isExpanded
         */
        toggleState(): boolean;
        readonly hasStateButton: boolean;
        readonly shortcutText: string;
        private titleToolbarValue;
        getTitleToolbar(): AdaptiveActionContainer;
        protected createActionContainer(allowAdaptiveActions?: boolean): ActionContainer;
        readonly titleActions: Array<any>;
        private isTitleActionRequested;
        getTitleActions(): Array<any>;
        protected getDefaultTitleActions(): Array<IAction>;
        private updateTitleActions;
        locStrsChanged(): void;
        readonly hasTitleActions: boolean;
        readonly hasTitleEvents: boolean;
        readonly titleTabIndex: number;
        readonly titleAriaExpanded: any;
        readonly titleAriaRole: any;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        protected canRunConditions(): boolean;
        getDataFilteredValues(): any;
        getDataFilteredProperties(): any;
        protected readonly surveyImpl: ISurveyImpl;
        __setData(data: ISurveyData): void;
        readonly data: ISurveyData;
        /*
        * Returns the survey object.
        */
        readonly survey: ISurvey;
        getSurvey(live?: boolean): ISurvey;
        protected setSurveyCore(value: ISurvey): void;
        readonly skeletonHeight: string;
        isContentElement: boolean;
        isEditableTemplateElement: boolean;
        isInteractiveDesignElement: boolean;
        protected readonly isInternal: boolean;
        readonly areInvisibleElementsShowing: boolean;
        readonly isVisible: boolean;
        /*
        * Returns `true` if the survey element or its parent element is read-only.
        *
        * If you want to switch a survey element to the read-only state based on a condition, specify the [`enableIf`](https://surveyjs.io/form-library/documentation/question#enableIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see readOnly
        */
        readonly isReadOnly: boolean;
        /*
        * Makes the survey element read-only.
        *
        * If you want to switch a survey element to the read-only state based on a condition, specify the [`enableIf`](https://surveyjs.io/form-library/documentation/question#enableIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see isReadOnly
        */
        readOnly: boolean;
        protected onReadOnlyChanged(): void;
        private readonly css: any;
        private isCssValueCalculating;
        readonly cssClassesValue: any;
        private ensureCssClassesValue;
        private createCssClassesValue;
        protected onCalcCssClasses(classes: any): void;
        /*
        * Returns an object in which keys are UI elements and values are CSS classes applied to them.
        *
        * Use the following events of the [`SurveyModel`](https://surveyjs.io/form-library/documentation/surveymodel) object to override CSS classes:
        *
        * - [`onUpdateQuestionCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdateQuestionCssClasses)
        * - [`onUpdatePanelCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePanelCssClasses)
        * - [`onUpdatePageCssClasses`](https://surveyjs.io/form-library/documentation/surveymodel#onUpdatePageCssClasses)
        * - [`onUpdateChoiceItemCss`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onUpdateChoiceItemCss)
        */
        readonly cssClasses: any;
        readonly cssTitleNumber: any;
        readonly cssRequiredText: any;
        getCssTitleExpandableSvg(): string;
        protected calcCssClasses(css: any): any;
        protected updateElementCssCore(cssClasses: any): void;
        readonly cssError: string;
        updateElementCss(reNew?: boolean): void;
        protected clearCssClasses(): void;
        protected getIsLoadingFromJson(): boolean;
        /*
        * A survey element identifier.
        *
        * > Question names must be unique.
        */
        name: string;
        protected getValidName(name: string): string;
        protected onNameChanged(oldValue: string): void;
        protected updateBindingValue(valueName: string, value: any): void;
        /*
        * Validation errors. Call the `validate()` method to validate survey element data.
        * @see validate
        */
        errors: Array<SurveyError>;
        hasVisibleErrors: boolean;
        private updateVisibleErrors;
        /*
        * Returns `true` if the survey element or its child elements have validation errors.
        *
        * This property contains the result of the most recent validation. This result may be outdated. Call the `validate` method to get an up-to-date value.
        * @see errors
        */
        readonly containsErrors: boolean;
        updateContainsErrors(): void;
        protected getContainsErrors(): boolean;
        selectedElementInDesign: SurveyElement;
        updateCustomWidgets(): void;
        onSurveyLoad(): void;
        private wasRenderedValue;
        readonly wasRendered: boolean;
        onFirstRendering(): void;
        protected onFirstRenderingCore(): void;
        endLoadingFromJson(): void;
        setVisibleIndex(index: number): number;
        delete(doDispose: boolean): void;
        locOwner: ILocalizableOwner;
        /**
         * Returns the survey's [locale](https://surveyjs.io/form-library/documentation/surveymodel#locale).
         *
         * If a default locale is used, this method returns an empty string. To get the applied locale in this case, use the following code:
         *
         * ```js
         * import { surveyLocalization } from 'survey-core';
         * const defaultLocale = surveyLocalization.defaultLocale;
         * ```
         *
         * @see [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization)
         */
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        protected getUseDisplayValuesInDynamicTexts(): boolean;
        protected removeSelfFromList(list: Array<any>): void;
        protected readonly textProcessor: ITextProcessor;
        protected getProcessedHtml(html: string): string;
        protected onSetData(): void;
        parent: IPanel;
        protected getPage(parent: IPanel): IPage;
        protected moveToBase(parent: IPanel, container: IPanel, insertBefore?: any): boolean;
        protected setPage(parent: IPanel, newPage: IPage): void;
        protected getSearchableLocKeys(keys: Array<string>): void;
        readonly isDefaultV2Theme: boolean;
        readonly hasParent: boolean;
        isSingleInRow: boolean;
        private shouldAddRunnerStyles;
        protected readonly isCompact: boolean;
        private canHaveFrameStyles;
        protected getHasFrameV2(): boolean;
        protected getIsNested(): boolean;
        protected getCssRoot(cssClasses: {
            [index: string]: string;
        }): string;
        /*
        * Sets survey element width in CSS values.
        *
        * Default value: ""
        * @see minWidth
        * @see maxWidth
        */
        width: string;
        /*
        * Gets or sets minimum survey element width in CSS values.
        *
        * Default value: "300px" (taken from [`settings.minWidth`](https://surveyjs.io/form-library/documentation/settings#minWidth))
        * @see maxWidth
        * @see renderWidth
        * @see width
        */
        minWidth: string;
        /*
        * Gets or sets maximum survey element width in CSS values.
        *
        * Default value: "100%" (taken from [`settings.maxWidth`](https://surveyjs.io/form-library/documentation/settings#maxWidth))
        * @see minWidth
        * @see renderWidth
        * @see width
        */
        maxWidth: string;
        /*
        * Returns a calculated width of the rendered survey element in CSS values.
        * @see width
        * @see minWidth
        * @see maxWidth
        */
        renderWidth: string;
        /*
        * Increases or decreases an indent of survey element content from the left edge. Accepts positive integer values and 0. Does not apply in the Default V2 theme.
        * @see rightIndent
        */
        indent: number;
        /*
        * Increases or decreases an indent of survey element content from the right edge. Accepts positive integer values and 0. Does not apply in the Default V2 theme.
        * @see indent
        */
        rightIndent: number;
        getRootStyle(): object;
        readonly paddingLeft: string;
        protected calcPaddingLeft(): string;
        paddingRight: string;
        protected calcPaddingRight(): string;
        protected resetIndents(): void;
        allowRootStyle: boolean;
        rootStyle: any;
        updateRootStyle(): void;
        private isContainsSelection;
        readonly clickTitleFunction: any;
        protected needClickTitleFunction(): boolean;
        protected processTitleClick(): void;
        readonly hasAdditionalTitleToolbar: boolean;
        readonly additionalTitleToolbar: ActionContainer;
        protected getAdditionalTitleToolbar(): ActionContainer | null;
        protected getCssTitle(cssClasses: any): string;
        readonly isDisabledStyle: boolean;
        readonly isReadOnlyStyle: boolean;
        protected getIsDisableAndReadOnlyStyles(itemReadOnly: boolean): Array<boolean>;
        readonly isPreviewStyle: boolean;
        localeChanged(): void;
        private wrapperElement?;
        setWrapperElement(element?: HTMLElement): void;
        getWrapperElement(): HTMLElement;
        private _renderedIsExpanded;
        private _isAnimatingCollapseExpand;
        private isAnimatingCollapseExpand: any;
        protected onElementExpanded(elementIsRendered: boolean): void;
        private getExpandCollapseAnimationOptions;
        private readonly isExpandCollapseAnimationEnabled: any;
        private animationCollapsed;
        renderedIsExpanded: boolean;
        protected getIsAnimationAllowed(): boolean;
        onAfterRenderElement: EventBase<SurveyElement<E>, any>;
        afterRenderCore(element: HTMLElement): void;
        dispose(): void;
    }
    export class RenderingCompletedAwaiter {
        private _elements;
        private _renderedHandler;
        constructor(_elements: Array<SurveyElement>, _renderedHandler: () => void, waitingTimeout?: number);
        private _elementsToRenderCount;
        private _elementsToRenderTimer;
        private _elementRenderedHandler;
        private stopWaitingForElementsRendering;
        private visibleElementsRendered;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/questionCustomWidgets" {
    import { Event } from "packages/survey-core/src/base";
    import { IQuestion } from "packages/survey-core/src/base-interfaces";
    export class QuestionCustomWidget {
        name: string;
        widgetJson: any;
        htmlTemplate: string;
        constructor(name: string, widgetJson: any);
        afterRender(question: IQuestion, el: any): void;
        willUnmount(question: IQuestion, el: any): void;
        getDisplayValue(question: IQuestion, value?: any): string;
        validate(question: IQuestion): string;
        isFit(question: IQuestion): boolean;
        readonly canShowInToolbox: boolean;
        showInToolbox: boolean;
        init(): void;
        activatedByChanged(activatedBy: string): void;
        private isLibraryLoaded;
        readonly isDefaultRender: boolean;
        readonly pdfQuestionType: string;
        readonly pdfRender: any;
    }
    export class CustomWidgetCollection {
        static Instance: CustomWidgetCollection;
        private widgetsValues;
        private widgetsActivatedBy;
        onCustomWidgetAdded: Event<(customWidget: QuestionCustomWidget) => any, QuestionCustomWidget, any>;
        readonly widgets: Array<QuestionCustomWidget>;
        add(widgetJson: any, activatedBy?: string): void;
        addCustomWidget(widgetJson: any, activatedBy?: string): QuestionCustomWidget;
        /**
         * Returns the way the custom wiget is activated. It can be activated by a property ("property"), question type ("type") or by new/custom question type ("customtype").
         * @param widgetName the custom widget name
         * @see setActivatedBy
         */
        getActivatedBy(widgetName: string): string;
        /**
         * Sets the way the custom wiget is activated. The activation types are: property ("property"), question type ("type") or new/custom question type ("customtype"). A custom wiget may support all or only some of this activation types.
         * @param widgetName
         * @param activatedBy there are three possible variants: "property", "type" and "customtype"
         */
        setActivatedBy(widgetName: string, activatedBy: string): void;
        clear(): void;
        getCustomWidgetByName(name: string): QuestionCustomWidget;
        getCustomWidget(question: IQuestion): QuestionCustomWidget;
    }
}
declare module "packages/survey-core/src/rendererFactory" {
    import { Question } from "packages/survey-core/src/question";
    export class RendererFactory {
        static Instance: RendererFactory;
        private renderersHash;
        private defaultHash;
        unregisterRenderer(questionType: string, rendererAs: string): void;
        registerRenderer(questionType: string, renderAs: string, renderer: any, useAsDefault?: boolean): void;
        getRenderer(questionType: string, renderAs: string): string;
        getRendererByQuestion(question: Question): any;
        clear(): void;
    }
}
declare module "packages/survey-core/src/question" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { EventBase } from "packages/survey-core/src/base";
    import { IElement, IQuestion, IPanel, IConditionRunner, ISurveyImpl, IPage, ITitleOwner, IProgressInfo, ISurvey, IPlainDataOptions, IDropdownMenuOptions } from "packages/survey-core/src/base-interfaces";
    import { SurveyElement } from "packages/survey-core/src/survey-element";
    import { SurveyValidator, IValidatorOwner } from "packages/survey-core/src/validator";
    import { TextPreProcessorValue } from "packages/survey-core/src/textPreProcessor";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { ExpressionRunner } from "packages/survey-core/src/conditions";
    import { QuestionCustomWidget } from "packages/survey-core/src/questionCustomWidgets";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { ITheme } from "packages/survey-core/src/themes";
    import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
    export interface IConditionObject {
        name: string;
        text: string;
        question: Question;
        context?: Question;
    }
    export interface IQuestionPlainData {
        name: string | number;
        title: string;
        value: any;
        displayValue: any;
        isNode: boolean;
        isComment?: boolean;
        questionType?: string;
        data?: Array<IQuestionPlainData>;
        getString: (val: any) => string;
        [key: string]: any;
    }
    /**
     * A base class for all questions.
     */
    export class Question extends SurveyElement<Question> implements IQuestion, IConditionRunner, IValidatorOwner, ITitleOwner {
        [index: string]: any;
        private static TextPreprocessorValuesMap;
        private static questionCounter;
        private static getQuestionId;
        private isCustomWidgetRequested;
        private customWidgetValue;
        customWidgetData: {
            isNeedRender: boolean;
        };
        focusCallback: () => void;
        surveyLoadCallback: () => void;
        displayValueCallback: (text: string) => string;
        hasCssErrorCallback: () => boolean;
        private defaultValueRunner;
        private isChangingViaDefaultValue;
        private isValueChangedDirectly;
        valueChangedCallback: () => void;
        commentChangedCallback: () => void;
        localeChangedCallback: () => void;
        validateValueCallback: () => SurveyError;
        questionTitleTemplateCallback: () => string;
        afterRenderQuestionCallback: (question: Question, element: any) => any;
        valueFromDataCallback: (val: any) => any;
        valueToDataCallback: (val: any) => any;
        onUpdateCssClassesCallback: (css: any) => void;
        setValueChangedDirectlyCallback: (val: boolean) => void;
        onGetSurvey: () => ISurvey;
        private locProcessedTitle;
        private isReadyValue;
        private commentElements;
        private dependedQuestions;
        private commentTextAreaModelValue;
        /**
         * An event that is raised when the question's ready state has changed (expressions are evaluated, choices are loaded from a web resource specified by the `choicesByUrl` property, etc.).
         *
         * Parameters:
         *
         * - `sender`: `SurveyModel`\
         * A survey instance that contains the question whose ready state has changed.
         * - `options.isReady`: `boolean`\
         * Indicates whether the question is ready.
         * - `options.oldIsReady`: `boolean`\
         * Indicates the previous ready state.
         */
        onReadyChanged: EventBase<Question>;
        isReadOnlyRenderDiv(): boolean;
        protected allowMobileInDesignMode(): boolean;
        updateIsMobileFromSurvey(): void;
        setIsMobile(val: boolean): void;
        protected getIsMobile(): boolean;
        isMobile: boolean;
        themeChanged(theme: ITheme): void;
        private _isMobile;
        forceIsInputReadOnly: boolean;
        ariaExpanded: "true" | "false";
        constructor(name: string);
        protected getDefaultTitle(): string;
        protected createLocTitleProperty(): LocalizableString;
        readonly commentTextAreaModel: TextAreaModel;
        private getCommentTextAreaOptions;
        getSurvey(live?: boolean): ISurvey;
        getValueName(): string;
        /*
        * Specifies an object property that should store the question value.
        *
        * Refer to the [Merge Question Values](https://surveyjs.io/form-library/documentation/design-survey-merge-question-values) help topic for more information.
        */
        valueName: string;
        protected onValueNameChanged(oldValue: string): void;
        protected onNameChanged(oldValue: string): void;
        readonly isReady: boolean;
        protected onAsyncRunningChanged(): void;
        protected updateIsReady(): void;
        protected getIsQuestionReady(): boolean;
        private getAreNestedQuestionsReady;
        protected getIsReadyNestedQuestions(): Array<Question>;
        private setIsReady;
        protected getIsReadyDependsOn(): Array<Question>;
        private getIsReadyDependends;
        protected getDependedQuestionsByValueName(isDependOn: boolean): Array<IQuestion>;
        private getIsReadyDependendCore;
        choicesLoaded(): void;
        /*
        * Returns a page to which the question belongs and allows you to move this question to a different page.
        */
        page: IPage;
        getPanel(): IPanel;
        delete(doDispose?: boolean): void;
        protected removeFromParent(): void;
        protected addDependedQuestion(question: Question): void;
        protected removeDependedQuestion(question: Question): void;
        protected updateDependedQuestions(): void;
        protected updateDependedQuestion(): void;
        protected resetDependedQuestion(): void;
        readonly isFlowLayout: boolean;
        getLayoutType(): string;
        isLayoutTypeSupported(layoutType: string): boolean;
        /*
        * Gets or sets question visibility.
        *
        * If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see isVisible
        * @see visibleIf
        */
        visible: boolean;
        protected onVisibleChanged(): void;
        private onVisibleChangedCore;
        protected notifyStateChanged(prevState: string): void;
        updateElementVisibility(): void;
        private updateIsVisibleProp;
        /*
        * Specifies whether to use display names for question values in placeholders.
        *
        * Default value: `true`
        *
        * This property applies to questions whose values are defined as objects with the `value` and `text` properties (for example, [choice items](https://surveyjs.io/form-library/documentation/questionradiogroupmodel#choices) in Radiogroup, Checkbox, and Dropdown questions).
        *
        * You can use question values as placeholders in the following places:
        *
        * - Survey element titles and descriptions
        * - The [`html`](https://surveyjs.io/form-library/documentation/questionhtmlmodel#html) property of the [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question
        *
        * To use a question value as a placeholder, specify the question `name` in curly brackets: `{questionName}`. Refer to the following help topic for more information: [Dynamic Texts - Question Values](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#question-values).
        */
        useDisplayValuesInDynamicTexts: boolean;
        protected getUseDisplayValuesInDynamicTexts(): boolean;
        /*
        * A Boolean expression. If it evaluates to `false`, this question becomes hidden.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visible
        * @see isVisible
        */
        visibleIf: string;
        /*
        * Returns `true` if the question is visible or the survey is currently in design mode.
        *
        * If you want to display or hide a question based on a condition, specify the [`visibleIf`](https://surveyjs.io/form-library/documentation/question#visibleIf) property. Refer to the following help topic for information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visibleIf
        * @see visible
        * @see isParentVisible
        */
        readonly isVisible: boolean;
        readonly isVisibleInSurvey: boolean;
        protected isVisibleCore(): boolean;
        /*
        * Returns the visible index of the question in the survey. It can be from 0 to all visible questions count - 1
        * The visibleIndex is -1 if the title is 'hidden' or hideNumber is true
        * @see titleLocation
        * @see hideNumber
        */
        readonly visibleIndex: number;
        onHidingContent(): void;
        /*
        * Hides the question number from the title and excludes the question from numbering.
        *
        * If you want to disable question numbering in the entire survey, set `SurveyModel`'s `showQuestionNumbers` property to `false`.
        * @see SurveyModel.showQuestionNumbers
        */
        hideNumber: boolean;
        /*
        * Returns `true` if the question can display its title to the left of the input field.
        * @see titleLocation
        * @see getTitleLocation
        * @see hasTitle
        */
        readonly isAllowTitleLeft: boolean;
        /**
         * Returns the question type.
         * Possible values:
         * - [*"boolean"*](https://surveyjs.io/Documentation/Library?id=questionbooleanmodel)
         * - [*"checkbox"*](https://surveyjs.io/Documentation/Library?id=questioncheckboxmodel)
         * - [*"comment"*](https://surveyjs.io/Documentation/Library?id=questioncommentmodel)
         * - [*"dropdown"*](https://surveyjs.io/Documentation/Library?id=questiondropdownmodel)
         * - [*"tagbox"*](https://surveyjs.io/form-library/documentation/questiontagboxmodel)
         * - [*"expression"*](https://surveyjs.io/Documentation/Library?id=questionexpressionmodel)
         * - [*"file"*](https://surveyjs.io/Documentation/Library?id=questionfilemodel)
         * - [*"html"*](https://surveyjs.io/Documentation/Library?id=questionhtmlmodel)
         * - [*"image"*](https://surveyjs.io/Documentation/Library?id=questionimagemodel)
         * - [*"imagepicker"*](https://surveyjs.io/Documentation/Library?id=questionimagepickermodel)
         * - [*"matrix"*](https://surveyjs.io/Documentation/Library?id=questionmatrixmodel)
         * - [*"matrixdropdown"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdropdownmodel)
         * - [*"matrixdynamic"*](https://surveyjs.io/Documentation/Library?id=questionmatrixdynamicmodel)
         * - [*"multipletext"*](https://surveyjs.io/Documentation/Library?id=questionmultipletextmodel)
         * - [*"panel"*](https://surveyjs.io/Documentation/Library?id=panelmodel)
         * - [*"paneldynamic"*](https://surveyjs.io/Documentation/Library?id=questionpaneldynamicmodel)
         * - [*"radiogroup"*](https://surveyjs.io/Documentation/Library?id=questionradiogroupmodel)
         * - [*"rating"*](https://surveyjs.io/Documentation/Library?id=questionratingmodel)
         * - [*"ranking"*](https://surveyjs.io/Documentation/Library?id=questionrankingmodel)
         * - [*"signaturepad"*](https://surveyjs.io/Documentation/Library?id=questionsignaturepadmodel)
         * - [*"text"*](https://surveyjs.io/Documentation/Library?id=questiontextmodel)
         */
        getType(): string;
        readonly isQuestion: boolean;
        moveTo(container: IPanel, insertBefore?: any): boolean;
        getProgressInfo(): IProgressInfo;
        private setValueExpressionRunner;
        private ensureSetValueExpressionRunner;
        private runSetValueExpression;
        private getSetValueExpressionRunner;
        private triggersInfo;
        private addTriggerInfo;
        private runTriggerInfo;
        private canExecuteTriggerByKeys;
        private canExecuteTriggerByKeysCore;
        runTriggers(name: string, value: any, keys?: any): void;
        private runConditions;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        /*
        * Returns a survey element (panel or page) that contains the question and allows you to move this question to a different survey element.
        */
        parent: IPanel;
        protected onParentChanged(): void;
        /*
        * Returns `false` if the `titleLocation` property is set to `"hidden"` or if the question cannot have a title (for example, an [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question).
        *
        * If the `title` property is `undefined` or set to an empty string, the `hasTitle` property returns `true`, because the question uses its `name` as a title in this case.
        * @see title
        * @see titleLocation
        */
        readonly hasTitle: boolean;
        /*
        * Sets question title location relative to the input field. Overrides the `questionTitleLocation` property specified for the question's container (survey, page, or panel).
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the `questionTitleLocation` property specified for the question's container.
        * - `"top"` - Displays the title above the input field.
        * - `"bottom"` - Displays the title below the input field.
        * - `"left"` - Displays the title to the left of the input field.
        * - `"hidden"` - Hides the question title.
        *
        * > Certain question types (Matrix, Multiple Text) do not support the `"left"` value. For them, the `"top"` value is used.
        * @see SurveyModel.questionTitleLocation
        * @see getTitleLocation
        * @see isAllowTitleLeft
        */
        titleLocation: string;
        getTitleOwner(): ITitleOwner;
        protected getIsTitleRenderedAsString(): boolean;
        protected notifySurveyOnChildrenVisibilityChanged(): boolean;
        private notifySurveyVisibilityChanged;
        protected clearValueOnHidding(isClearOnHidden: boolean): void;
        readonly titleWidth: string;
        getPercentQuestionTitleWidth(): number;
        /**
         * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).
         * @see titleLocation
         * @see SurveyModel.questionTitleLocation
         */
        getTitleLocation(): string;
        protected getTitleLocationCore(): string;
        readonly hasTitleOnLeft: boolean;
        readonly hasTitleOnTop: boolean;
        readonly hasTitleOnBottom: boolean;
        readonly hasTitleOnLeftTop: boolean;
        /*
        * Specifies the error message position. Overrides the `questionErrorLocation` property specified for the question's container ([survey](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#questionErrorLocation), [page](https://surveyjs.io/form-library/documentation/api-reference/page-model#questionErrorLocation), or [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model#questionErrorLocation)).
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the `questionErrorLocation` property specified for the question's container.
        * - `"top"` - Displays error messages above questions.
        * - `"bottom"` - Displays error messages below questions.
        */
        errorLocation: string;
        getErrorLocation(): string;
        getChildErrorLocation(child: Question): string;
        /*
        * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel), and similar question types).
        * @see hasSingleInput
        */
        readonly hasInput: boolean;
        /*
        * Returns `false` if the question has no input fields ([HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel)) or has multiple input fields ([Matrix](https://surveyjs.io/form-library/documentation/questionmatrixmodel), [Multiple Text](https://surveyjs.io/form-library/documentation/questionmultipletextmodel)).
        * @see hasInput
        */
        readonly hasSingleInput: boolean;
        readonly inputId: string;
        protected getDefaultTitleValue(): string;
        protected getDefaultTitleTagName(): string;
        /*
        * Specifies where to display a question description.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the Survey's [`questionDescriptionLocation`](https://surveyjs.io/form-library/documentation/surveymodel#questionDescriptionLocation) property.
        * - `"underTitle"` - Displays the description under the question title.
        * - `"underInput"` - Displays the description under the interactive area.
        * @see description
        * @see hasDescription
        */
        descriptionLocation: string;
        readonly hasDescriptionUnderTitle: boolean;
        readonly hasDescriptionUnderInput: boolean;
        private getDescriptionLocation;
        protected needClickTitleFunction(): boolean;
        protected processTitleClick(): boolean;
        /*
        * Specifies a custom error message for a required form field.
        * @see isRequired
        */
        requiredErrorText: string;
        readonly locRequiredErrorText: LocalizableString;
        /*
        * Specifies a caption displayed above the comment area. Applies when the `showCommentArea` property is `true`.
        * @see showCommentArea
        * @see comment
        */
        commentText: string;
        readonly locCommentText: LocalizableString;
        /**
         * A placeholder for the comment area. Applies when the `showCommentArea` property is `true`.
         * @see showCommentArea
         * @see comment
         * @see commentText
         */
        commentPlaceholder: string;
        commentPlaceHolder: string;
        readonly renderedCommentPlaceholder: string;
        private resetRenderedCommentPlaceholder;
        getAllErrors(): Array<SurveyError>;
        getErrorByType(errorType: string): SurveyError;
        readonly customWidget: QuestionCustomWidget;
        updateCustomWidget(): void;
        localeChanged(): void;
        readonly isCompositeQuestion: boolean;
        readonly isContainer: boolean;
        protected updateCommentElements(): void;
        onCommentInput(event: any): void;
        onCommentChange(event: any): void;
        afterRenderQuestionElement(el: HTMLElement): void;
        afterRender(el: HTMLElement): void;
        afterRenderCore(element: HTMLElement): void;
        protected getCommentElementsId(): Array<string>;
        beforeDestroyQuestionElement(el: HTMLElement): void;
        readonly processedTitle: string;
        readonly fullTitle: string;
        protected readonly titlePattern: string;
        readonly isRequireTextOnStart: boolean;
        readonly isRequireTextBeforeTitle: boolean;
        readonly isRequireTextAfterTitle: boolean;
        /*
        * Disable this property if you want to render the current question on the same line or row with the previous question or panel.
        */
        startWithNewLine: boolean;
        protected calcCssClasses(css: any): any;
        protected onCalcCssClasses(classes: any): void;
        readonly cssRoot: string;
        protected setCssRoot(val: string): void;
        protected getCssRoot(cssClasses: {
            [index: string]: string;
        }): string;
        readonly cssHeader: string;
        protected setCssHeader(val: string): void;
        protected getCssHeader(cssClasses: any): string;
        protected supportContainerQueries(): boolean;
        readonly cssContent: string;
        protected setCssContent(val: string): void;
        protected getCssContent(cssClasses: any): string;
        readonly cssTitle: string;
        protected setCssTitle(val: string): void;
        protected getCssTitle(cssClasses: any): string;
        readonly cssDescription: string;
        protected setCssDescription(val: string): void;
        protected getCssDescription(cssClasses: any): string;
        showErrorOnCore(location: string): boolean;
        readonly showErrorOnTop: boolean;
        readonly showErrorOnBottom: boolean;
        private readonly showErrorsOutsideQuestion: any;
        readonly showErrorsAboveQuestion: boolean;
        readonly showErrorsBelowQuestion: boolean;
        readonly cssError: string;
        protected setCssError(val: string): void;
        protected getCssError(cssClasses: any): string;
        protected hasCssError(): boolean;
        getRootCss(): string;
        getQuestionRootCss(): string;
        private isRequireUpdateElements;
        updateElementCss(reNew?: boolean): void;
        protected onFirstRenderingCore(): void;
        protected updateQuestionCss(reNew?: boolean): void;
        private ensureElementCss;
        protected updateElementCssCore(cssClasses: any): void;
        protected updateCssClasses(res: any, css: any): void;
        protected getCssType(): string;
        readonly renderCssRoot: string;
        protected calcPaddingLeft(): string;
        protected calcPaddingRight(): string;
        private getIndentSize;
        /**
         * Moves focus to the input field of this question.
         * @param onError Pass `true` if you want to focus an input field with the first validation error. Default value: `false` (focuses the first input field). Applies to question types with multiple input fields.
         */
        focus(onError?: boolean, scrollIfVisible?: boolean): void;
        focusInputElement(onError: boolean): void;
        private readonly isValidateVisitedEmptyFields: any;
        private isFocusEmpty;
        protected supportEmptyValidation(): boolean;
        onBlur(event: any): void;
        onFocus(event: any): void;
        protected onBlurCore(event: any): void;
        protected onFocusCore(event: any): void;
        expandAllParents(): void;
        private expandAllParentsCore;
        focusIn(): void;
        protected fireCallback(callback: () => void): void;
        getOthersMaxLength(): any;
        protected onCreating(): void;
        getFirstQuestionToFocus(withError: boolean): Question;
        protected getFirstInputElementId(): string;
        protected getFirstErrorInputElementId(): string;
        protected getProcessedTextValue(textValue: TextPreProcessorValue): void;
        supportComment(): boolean;
        supportOther(): boolean;
        /*
        * Makes the question required. If a respondent skips a required question, the survey displays a validation error.
        * @see requiredIf
        * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
        */
        isRequired: boolean;
        /*
        * A Boolean expression. If it evaluates to `true`, this question becomes required.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see isRequired
        */
        requiredIf: string;
        /*
        * Specifies whether to display a comment area. Incompatible with the `showOtherItem` property.
        * @see comment
        * @see commentText
        * @see showOtherItem
        */
        showCommentArea: boolean;
        hasComment: boolean;
        /*
        * A value to assign to the `id` attribute of the rendered HTML element. A default `id` is generated automatically.
        */
        id: string;
        readonly ariaTitleId: string;
        readonly ariaDescriptionId: string;
        readonly commentId: string;
        /*
        * Specifies whether to display the "Other" choice item. Incompatible with the `showCommentArea` property.
        *
        * @see otherText
        * @see otherItem
        * @see otherErrorText
        * @see showCommentArea
        * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
        */
        showOtherItem: boolean;
        hasOther: boolean;
        protected hasOtherChanged(): void;
        readonly requireUpdateCommentValue: boolean;
        readOnlyCallback: () => boolean;
        readonly isReadOnly: boolean;
        readonly isInputReadOnly: boolean;
        readonly renderedInputReadOnly: string;
        readonly renderedInputDisabled: string;
        readonly isReadOnlyAttr: boolean;
        readonly isDisabledAttr: boolean;
        protected onReadOnlyChanged(): void;
        /*
        * A Boolean expression. If it evaluates to `false`, this question becomes read-only.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        *
        * [View Demo](https://surveyjs.io/form-library/examples/how-to-conditionally-make-input-field-read-only/ (linkStyle))
        * @see readOnly
        * @see isReadOnly
        */
        enableIf: string;
        surveyChoiceItemVisibilityChange(): void;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        readonly isInDesignMode: boolean;
        readonly isInDesignModeV2: boolean;
        /*
        * A question number or letter (depends on the `questionStartIndex` property of the question container (panel, page, or survey)).
        *
        * When the question number, title, or the entire question is invisible, this property returns an empty string.
        * @see SurveyModel.questionStartIndex
        * @see hideNumber
        * @see titleLocation
        * @see visibleIf
        */
        readonly no: string;
        private calcNo;
        protected getStartIndex(): string;
        onSurveyLoad(): void;
        protected onSetData(): void;
        protected initDataFromSurvey(): void;
        protected initCommentFromSurvey(): void;
        protected runExpression(expression: string): any;
        readonly commentAreaRows: number;
        private readonly autoGrowComment: any;
        private readonly allowResizeComment: any;
        private questionValue: any;
        private questionComment: any;
        readonly isValueArray: boolean;
        /*
        * Gets or sets the question value.
        *
        * The following table illustrates how the value type depends on the question type:
        *
        * | Question type | Value type(s) |
        * | ------------- | ------------- |
        * | Checkboxes | <code>Array&lt;string &#124; number&gt;</code> |
        * | Dropdown | `string` \| `number` |
        * | Dynamic Matrix | `Array<object>` |
        * | Dynamic Panel | `Array<object>` |
        * | Expression | `string` \| `number` \| `boolean` |
        * | File Upload | `File` \| `Array<File>` |
        * | HTML | (no value) |
        * | Image | (no value) |
        * | Image Picker | <code>Array&lt;string &#124; number&gt;</code> |
        * | Long Text | `string` |
        * | Multi-Select Dropdown | `object` |
        * | Multi-Select Matrix | `object` |
        * | Multiple Textboxes | `Array<string>` |
        * | Panel | (no value) |
        * | Radio Button Group | `string` \| `number` |
        * | Ranking | <code>Array&lt;string &#124; number&gt;</code> |
        * | Rating Scale | `number` \| `string` |
        * | Signature | `string` (base64-encoded image) |
        * | Single-Line Input | `string` \| `number` \| `Date` |
        * | Single-Select Matrix | `object` |
        * | Yes/No (Boolean) | `boolean` \| `string` |
        */
        value: any;
        readonly hasFilteredValue: boolean;
        getFilteredValue(): any;
        getFilteredName(): any;
        readonly valueForSurvey: any;
        protected valueForSurveyCore(val: any): any;
        protected valueFromDataCore(val: any): any;
        /**
         * Sets the question's `value` and `comment` properties to `undefined`.
         * @see value
         * @see comment
         */
        clearValue(keepComment?: boolean): void;
        clearValueOnly(): void;
        unbindValue(): void;
        createValueCopy(): any;
        initDataUI(): void;
        protected getUnbindValue(value: any): any;
        protected isValueSurveyElement(val: any): boolean;
        private canClearValueAsInvisible;
        /*
        * Returns `true` if a parent element (page or panel) is visible.
        */
        readonly isParentVisible: boolean;
        clearValueIfInvisible(reason?: string): void;
        protected clearValueIfInvisibleCore(reason: string): void;
        /*
        * Specifies when to clear the question value if the question becomes invisible.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the Survey's [`clearInvisibleValues`](https://surveyjs.io/form-library/documentation/surveymodel#clearInvisibleValues) property.
        * - `"onHidden"` - Clears the value when the question becomes invisible. If a question is invisible on startup and has an initial value, this value will be cleared when the survey is complete.
        * - `"onHiddenContainer"` - Clears the value when the question or its container (page or panel) becomes invisible. If a question is invisible on startup and has an initial value, this value will be cleared when the survey is complete.
        * - `"onComplete"` - Clears the value when the survey is complete.
        * - `"none"` - Never clears the value of an invisible question.
        * @see SurveyModel.clearInvisibleValues
        * @see visible
        * @see SurveyModel.onComplete
        */
        clearIfInvisible: string;
        protected getClearIfInvisible(): string;
        readonly displayValue: any;
        /**
         * Returns a display text that corresponds to the question value. For example, if you call this method for a Dropdown question, it returns an item text instead of an item value.
         * @param keysAsText Applies when the question value is an object (in Matrix, Multiple Text, and similar questions). Pass `true` if not only values in the object should be display texts, but also keys. Default value: `false`.
         * @param value Specify this parameter to get a display text for a specific value, not for the current question value. If the question value is an object, this parameter should be a similar object.
         */
        getDisplayValue(keysAsText: boolean, value?: any): any;
        private calcDisplayValue;
        protected getDisplayValueCore(keyAsText: boolean, value: any): any;
        protected getDisplayValueEmpty(): string;
        /*
        * A default value for the question. Ignored for question types that cannot have a [value](https://surveyjs.io/form-library/documentation/question#value) (for example, HTML).
        *
        * The default value is used as a question value in the following cases:
        *
        * - While the survey is being loaded from JSON.
        * - The question is just added to the survey and does not yet have an answer.
        * - The respondent left the answer empty.
        * @see defaultValueExpression
        */
        defaultValue: any;
        /*
        * An expression used to calculate the [defaultValue](https://surveyjs.io/form-library/documentation/question#defaultValue).
        *
        * This expression applies until the question [value](https://surveyjs.io/form-library/documentation/question#value) is specified by an end user or programmatically.
        *
        * An expression can reference other questions as follows:
        *
        * - `{other_question_name}`
        * - `{panel.other_question_name}` (to access questions inside the same dynamic panel)
        * - `{row.other_question_name}` (to access questions inside the same dynamic matrix or multi-column dropdown)
        *
        * An expression can also include built-in and custom functions for advanced calculations. For example, if the `defaultValue` should be today's date, set the `defaultValueExpression` to `"today()"`, and the corresponding built-in function will be executed each time the survey is loaded. Refer to the following help topic for more information: [Built-In Functions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#built-in-functions).
        *
        * [View Demo](https://surveyjs.io/form-library/examples/specify-default-question-value-dynamically (linkStyle))
        * @see defaultValue
        * @see setValueExpression
        */
        defaultValueExpression: any;
        /*
        * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is reset to [default](#defaultValue).
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
        * @see setValueIf
        */
        resetValueIf: string;
        /*
        * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
        * @see resetValueIf
        */
        setValueIf: string;
        /*
        * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the question value.
        *
        * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
        * @see defaultValueExpression
        * @see resetValueIf
        */
        setValueExpression: string;
        readonly resizeStyle: "none" | "both";
        /**
         * Returns the question value as an object in which the question name, title, value, and other parameters are stored as individual properties.
         *
         * If the question can have more than one value (Matrix, Multiple Text), the object enables the `isNode` flag and stores information about these values in the `data` property. Refer to the following help topic for more information: [Access Full Survey Results](https://surveyjs.io/form-library/documentation/handle-survey-results-access#access-full-survey-results).
         *
         * Pass an object with the `includeEmpty` property set to `false` if you want to skip empty answers.
         */
        getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
        protected getPlainDataCalculatedValue(propName: string): any;
        /*
        * A correct answer to this question. Specify this property if you want to [create a quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz).
        * @see SurveyModel.getCorrectAnswerCount
        * @see SurveyModel.getIncorrectAnswerCount
        */
        correctAnswer: any;
        protected convertDefaultValue(val: any): any;
        /*
        * The number of quiz questions. A question counts if it is visible, has an input field, and specifies `correctAnswer`.
        * @see [Create a Quiz](https://surveyjs.io/form-library/documentation/design-survey-create-a-quiz)
        * @see correctAnswer
        * @see SurveyModel.getQuizQuestions
        */
        readonly quizQuestionCount: number;
        readonly correctAnswerCount: number;
        protected getQuizQuestionCount(): number;
        protected getCorrectAnswerCount(): number;
        protected checkIfAnswerCorrect(): boolean;
        protected getAnswerCorrectIgnoreOrder(): boolean;
        /**
        * Returns `true` if a question answer matches the `correctAnswer` property value.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/create-a-scored-quiz (linkStyle))
        * @see correctAnswer
        * @see SurveyModel.getQuizQuestions
        */
        isAnswerCorrect(): boolean;
        updateValueWithDefaults(): void;
        readonly isValueDefault: boolean;
        protected readonly isClearValueOnHidden: boolean;
        getQuestionFromArray(name: string, index: number): IQuestion;
        getDefaultValue(): any;
        protected isDefaultValueEmpty(): boolean;
        protected getDefaultRunner(runner: ExpressionRunner, expression: string): ExpressionRunner;
        protected setDefaultValue(): void;
        private setDefaultValueCore;
        protected updateValueWithDefaultsOrClear(): void;
        protected isValueExpression(val: any): boolean;
        protected setValueAndRunExpression(runner: ExpressionRunner, defaultValue: any, setFunc: (val: any) => void, values?: HashTable<any>, properties?: HashTable<any>): void;
        protected convertFuncValuetoQuestionValue(val: any): any;
        private runExpressionSetValueCore;
        private runExpressionSetValue;
        protected startSetValueOnExpression(): void;
        protected finishSetValueOnExpression(): void;
        private runDefaultValueExpression;
        /*
        * A comment to the selected question value. Enable the `showCommentArea` property to allow users to leave comments.
        * @see showCommentArea
        * @see commentText
        */
        comment: string;
        getCommentAreaCss(isOther?: boolean): string;
        protected getQuestionComment(): string;
        protected setQuestionComment(newValue: string): void;
        /**
         * Returns `true` if the question value is an empty string, array, or object or if it equals `undefined` or `null`.
         */
        isEmpty(): boolean;
        isAnswered: boolean;
        protected updateIsAnswered(): void;
        protected getIsAnswered(): boolean;
        /*
        * Question validators.
        *
        * [Data Validation](https://surveyjs.io/form-library/documentation/data-validation (linkStyle))
        */
        validators: Array<SurveyValidator>;
        getValidators(): Array<SurveyValidator>;
        getSupportedValidators(): Array<string>;
        addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
        /**
         * Returns an array of questions nested within the current question. Use this method to obtain questions within [Multiple Text](https://surveyjs.io/form-library/documentation/api-reference/multiple-text-entry-question-model), [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model), and [Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model)-like questions.
         * @param visibleOnly A Boolean value that specifies whether to include only visible nested questions.
         * @returns An array of nested questions.
         */
        getNestedQuestions(visibleOnly?: boolean, includeItSelf?: boolean): Array<Question>;
        collectNestedQuestions(questions: Array<Question>, visibleOnly?: boolean, includeItSelf?: boolean): void;
        protected collectNestedQuestionsCore(questions: Array<Question>, visibleOnly: boolean, includeItSelf: boolean): void;
        getConditionJson(operator?: string, path?: string): any;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        /**
         * Validates this question and returns `false` if the validation fails.
         * @param fireCallback *(Optional)* Pass `false` if you do not want to show validation errors in the UI.
         * @see [Data Validation](https://surveyjs.io/form-library/documentation/data-validation)
         */
        validate(fireCallback?: boolean, rec?: any): boolean;
        readonly currentErrorCount: number;
        /*
        * Returns a character or text string that indicates a required question.
        * @see SurveyModel.requiredText
        * @see isRequired
        */
        readonly requiredText: string;
        addError(error: SurveyError | string): void;
        private addCustomError;
        removeError(error: SurveyError): boolean;
        private checkForErrors;
        protected canCollectErrors(): boolean;
        private collectErrors;
        protected canRunValidators(isOnValueChanged: boolean): boolean;
        private fireSurveyValidation;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        hasRequiredError(): boolean;
        private validatorRunner;
        private isRunningValidatorsValue;
        onCompletedAsyncValidators: (hasErrors: boolean) => void;
        readonly isRunningValidators: boolean;
        protected getIsRunningValidators(): boolean;
        protected runValidators(): Array<SurveyError>;
        private doOnAsyncCompleted;
        protected raiseOnCompletedAsyncValidators(): void;
        allowSpaceAsAnswer: boolean;
        private isValueChangedInSurvey;
        private isOldAnswered;
        private isSettingQuestionValue;
        protected allowNotifyValueChanged: boolean;
        protected setNewValue(newValue: any): void;
        private checkIsValueCorrect;
        protected isNewValueCorrect(val: any): boolean;
        protected isNewValueEqualsToValue(newValue: any): boolean;
        protected isTextValue(): boolean;
        protected getIsInputTextUpdate(): boolean;
        readonly requireStrictCompare: boolean;
        getExpressionValue(val: any): any;
        private getDataLocNotification;
        readonly isInputTextUpdate: boolean;
        protected setNewValueInData(newValue: any): void;
        protected getValueCore(): any;
        protected setValueCore(newValue: any): void;
        protected canSetValueToSurvey(): boolean;
        protected valueFromData(val: any): any;
        protected valueToData(val: any): any;
        protected convertToCorrectValue(val: any): any;
        protected onValueChanged(): void;
        protected isMouseDown: boolean;
        onMouseDown(): void;
        protected setNewComment(newValue: string): void;
        protected setCommentIntoData(newValue: string): void;
        protected getValidName(name: string): string;
        updateValueFromSurvey(newValue: any, clearData?: boolean): void;
        private updateValueFromSurveyCore;
        updateCommentFromSurvey(newValue: any): any;
        protected onChangeQuestionValue(newValue: any): void;
        protected setValueChangedDirectly(val: boolean): void;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        private readonly isParentChangingViaDefaultValue: any;
        onSurveyValueChanged(newValue: any): void;
        setVisibleIndex(val: number): number;
        removeElement(element: IElement): boolean;
        supportGoNextPageAutomatic(): boolean;
        supportGoNextPageError(): boolean;
        /**
         * Removes values that cannot be assigned to this question, for example, choices unlisted in the `choices` array.
         *
         * Call this method after you assign new question values in code to ensure that they are acceptable.
         *
         * > This method does not remove values that fail validation. Call the `validate()` method to validate newly assigned values.
         *
         * @see validate
         */
        clearIncorrectValues(): void;
        clearOnDeletingContainer(): void;
        /**
         * Empties the `errors` array.
         * @see errors
         */
        clearErrors(): void;
        clearUnusedValues(): void;
        onAnyValueChanged(name: string, questionName: string): void;
        checkBindings(valueName: string, value: any): void;
        protected updateBindingProp(propName: string, value: any): void;
        getComponentName(): string;
        isDefaultRendering(): boolean;
        renderAs: string;
        inMatrixMode: boolean;
        getErrorCustomText(text: string, error: SurveyError): string;
        getValidatorTitle(): string;
        validatedValue: any;
        getAllValues(): any;
        processPopupVisiblilityChanged(popupModel: PopupModel, visible: boolean): void;
        processOpenDropdownMenu(options: IDropdownMenuOptions): void;
        protected onTextKeyDownHandler(event: any): void;
        transformToMobileView(): void;
        transformToDesktopView(): void;
        needResponsiveWidth(): boolean;
        protected supportResponsiveness(): boolean;
        protected needResponsiveness(): boolean;
        protected checkForResponsiveness(el: HTMLElement): void;
        private resizeObserver;
        protected getObservedElementSelector(): string;
        protected onMobileChanged(): void;
        private onMobileChangedCallback;
        triggerResponsiveness(hard?: boolean): void;
        private triggerResponsivenessCallback;
        private initResponsiveness;
        protected getCompactRenderAs(): string;
        protected getDesktopRenderAs(): string;
        protected onBeforeSetCompactRenderer(): void;
        protected onBeforeSetDesktopRenderer(): void;
        protected processResponsiveness(requiredWidth: number, availableWidth: number): any;
        destroyResizeObserver(): void;
        dispose(): void;
        private resetDependedQuestions;
        readonly isNewA11yStructure: boolean;
        readonly ariaLabel: string;
        readonly ariaRole: string;
        readonly ariaRequired: "true" | "false";
        readonly ariaInvalid: "true" | "false";
        readonly ariaLabelledBy: string;
        readonly ariaDescribedBy: string;
        readonly ariaErrormessage: string;
        readonly a11y_input_ariaRole: string;
        readonly a11y_input_ariaRequired: "true" | "false";
        readonly a11y_input_ariaInvalid: "true" | "false";
        readonly a11y_input_ariaLabel: string;
        readonly a11y_input_ariaLabelledBy: string;
        readonly a11y_input_ariaDescribedBy: string;
        readonly a11y_input_ariaErrormessage: string;
    }
}
declare module "packages/survey-core/src/itemvalue" {
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { ConditionRunner } from "packages/survey-core/src/conditions";
    import { IShortcutText, ISurvey } from "packages/survey-core/src/base-interfaces";
    import { BaseAction } from "packages/survey-core/src/actions/action";
    /**
     * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.
     * It has two main properties: value and text. If text is empty, value is used for displaying.
     * The text property is localizable and support markdown.
     */
    export class ItemValue extends BaseAction implements ILocalizableOwner, IShortcutText {
        protected typeName: string;
        [index: string]: any;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        static Separator: string;
        /**
         * Resets the input array and fills it with values from the values array
         */
        static setData(items: Array<ItemValue>, values: Array<any>, type?: string): void;
        static getData(items: Array<ItemValue>): any;
        static getItemByValue(items: Array<ItemValue>, val: any): ItemValue;
        static getTextOrHtmlByValue(items: Array<ItemValue>, val: any): string;
        static locStrsChanged(items: Array<ItemValue>): void;
        static runConditionsForItems(items: Array<ItemValue>, filteredItems: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, useItemExpression?: boolean, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
        static runEnabledConditionsForItems(items: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
        private static runConditionsForItemsCore;
        ownerPropertyName: string;
        private _visible;
        private locTextValue;
        private visibleConditionRunner;
        private enableConditionRunner;
        constructor(value: any, text?: string, typeName?: string);
        onCreating(): any;
        getType(): string;
        getSurvey(live?: boolean): ISurvey;
        getLocale(): string;
        isGhost: boolean;
        protected readonly isInternal: boolean;
        readonly locText: LocalizableString;
        setLocText(locText: LocalizableString): void;
        private _locOwner;
        locOwner: ILocalizableOwner;
        value: any;
        private setValue;
        readonly hasText: boolean;
        pureText: string;
        text: string;
        readonly calculatedText: string;
        readonly shortcutText: string;
        private canSerializeValue;
        getData(): any;
        toJSON(): any;
        setData(value: any, isNewItem?: boolean): void;
        visibleIf: string;
        enableIf: string;
        readonly isVisible: boolean;
        setIsVisible(val: boolean): void;
        readonly isEnabled: boolean;
        setIsEnabled(val: boolean): void;
        addUsedLocales(locales: Array<string>): void;
        locStrsChanged(): void;
        protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
        protected getConditionRunner(isVisible: boolean): ConditionRunner;
        private getVisibleConditionRunner;
        private getEnableConditionRunner;
        originalItem: any;
        selectedValue: boolean;
        readonly selected: boolean;
        private componentValue;
        getComponent(): string;
        setComponent(val: string): void;
        private _htmlElement;
        setRootElement(val: HTMLElement): void;
        getRootElement(): HTMLElement;
        protected getEnabled(): boolean;
        protected setEnabled(val: boolean): void;
        protected getVisible(): boolean;
        protected setVisible(val: boolean): void;
        protected getLocTitle(): LocalizableString;
        protected getTitle(): string;
        protected setLocTitle(val: LocalizableString): void;
        protected setTitle(val: string): void;
        icon: string;
    }
}
declare module "packages/survey-core/src/martixBase" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { Question } from "packages/survey-core/src/question";
    import { ConditionRunner } from "packages/survey-core/src/conditions";
    /**
     * A base class for all matrix question types.
     */
    export class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
        protected filteredRows: Array<ItemValue>;
        protected generatedVisibleRows: Array<TRow>;
        protected generatedTotalRow: TRow;
        visibleRowsChangedCallback: () => void;
        protected createColumnValues(): any;
        constructor(name: string);
        getType(): string;
        endLoadingFromJson(): void;
        readonly isCompositeQuestion: boolean;
        /*
        * Specifies whether to display the table header that contains column captions.
        *
        * Default value: `true`
        */
        showHeader: boolean;
        /*
        * An array of matrix columns.
        *
        * For a Single-Select Matrix, the `columns` array can contain configuration objects with the `text` (display value) and `value` (value to be saved in survey results) properties. Alternatively, the array can contain primitive values that will be used as both the display values and values to be saved in survey results.
        *
        * [View "Single-Select Matrix" Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))
        *
        * For a Multi-Select Matrix or Dynamic Matrix, the `columns` array should contain configuration objects with properties described in the [`MatrixDropdownColumn`](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) API Reference section.
        *
        * [View "Multi-Select Matrix" Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/ (linkStyle))
        */
        columns: Array<any>;
        readonly visibleColumns: Array<any>;
        protected isColumnVisible(column: any): boolean;
        /*
        * An array of matrix rows.
        *
        * This array can contain primitive values or objects with the `text` (display value) and `value` (value to be saved in survey results) properties.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))
        */
        rows: Array<any>;
        protected processRowsOnSet(newRows: Array<any>): any[];
        protected getVisibleRows(): Array<TRow>;
        /*
        * Returns an array of visible matrix rows.
        * @see rowsVisibleIf
        */
        readonly visibleRows: Array<TRow>;
        /*
        * A Boolean expression that is evaluated against each matrix row. If the expression evaluates to `false`, the row becomes hidden.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Use the `{item}` placeholder to reference the current row in the expression.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see visibleRows
        * @see columnsVisibleIf
        */
        rowsVisibleIf: string;
        /*
        * A Boolean expression that is evaluated against each matrix column. If the expression evaluates to `false`, the column becomes hidden.
        *
        * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
        *
        * Use the `{item}` placeholder to reference the current column in the expression.
        *
        * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
        * @see rowsVisibleIf
        */
        columnsVisibleIf: string;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected onColumnsChanged(): void;
        protected onRowsChanged(): void;
        protected updateVisibilityBasedOnRows(): void;
        protected isVisibleCore(): boolean;
        protected shouldRunColumnExpression(): boolean;
        protected hasRowsAsItems(): boolean;
        protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected isRowsFiltered(): boolean;
        protected clearGeneratedRows(): void;
        protected createRowsVisibleIfRunner(): ConditionRunner;
        private runConditionsForRows;
        protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
        protected clearInvisibleColumnValues(): void;
        protected clearInvisibleValuesInRows(): void;
        needResponsiveWidth(): boolean;
        protected readonly columnsAutoWidth: boolean;
        getTableCss(): string;
        /**
         * Aligns matrix cell content in the vertical direction.
         */
        verticalAlign: "top" | "middle";
        /**
         * Specifies whether to apply shading to alternate matrix rows.
         */
        alternateRows: boolean;
        /*
        * Minimum column width in CSS values.
        *
        * @see width
        */
        columnMinWidth: string;
        /*
        * A width for the column that displays row titles (first column). Accepts CSS values.
        */
        rowTitleWidth: string;
        /*
        * Specifies how to arrange matrix questions.
        *
        * Possible values:
        *
        * - `"table"` - Displays matrix questions in a table.
        * - `"list"` - Displays matrix questions one under another as a list.
        * - `"auto"` (default) - Uses the `"table"` mode if the survey has sufficient width to fit the table or the `"list"` mode otherwise.
        */
        displayMode: "auto" | "table" | "list";
        getCellAriaLabel(rowTitle: string, columnTitle: string): string;
        readonly isNewA11yStructure: boolean;
        protected getIsMobile(): boolean;
    }
}
declare module "packages/survey-core/src/question_matrixdropdownbase" {
    import { QuestionMatrixBaseModel } from "packages/survey-core/src/martixBase";
    import { Question, IConditionObject, IQuestionPlainData } from "packages/survey-core/src/question";
    import { HashTable } from "packages/survey-core/src/helpers";
    import { Base } from "packages/survey-core/src/base";
    import { IElement, IQuestion, ISurveyData, ISurvey, ISurveyImpl, ITextProcessor, IProgressInfo, IPanel, IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { IMatrixColumnOwner, MatrixDropdownColumn } from "packages/survey-core/src/question_matrixdropdowncolumn";
    import { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "packages/survey-core/src/question_matrixdropdownrendered";
    export interface IMatrixDropdownData {
        value: any;
        getFilteredData(): any;
        onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
        onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
        isValidateOnValueChanging: boolean;
        getRowIndex(row: MatrixDropdownRowModelBase): number;
        getRowValue(rowIndex: number): any;
        checkIfValueInRowDuplicated(checkedRow: MatrixDropdownRowModelBase, cellQuestion: Question): boolean;
        hasDetailPanel(row: MatrixDropdownRowModelBase): boolean;
        getIsDetailPanelShowing(row: MatrixDropdownRowModelBase): boolean;
        setIsDetailPanelShowing(row: MatrixDropdownRowModelBase, val: boolean): void;
        createRowDetailPanel(row: MatrixDropdownRowModelBase): PanelModel;
        validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
        columns: Array<MatrixDropdownColumn>;
        createQuestion(row: MatrixDropdownRowModelBase, column: MatrixDropdownColumn): Question;
        choices: Array<ItemValue>;
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        getParentTextProcessor(): ITextProcessor;
        getSharedQuestionByName(columnName: string, row: MatrixDropdownRowModelBase): Question;
        onTotalValueChanged(): any;
        getSurvey(): ISurvey;
        getDataFilteredValues(): any;
        isMatrixReadOnly(): boolean;
        onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
    }
    export class MatrixDropdownCell {
        column: MatrixDropdownColumn;
        row: MatrixDropdownRowModelBase;
        data: IMatrixDropdownData;
        private questionValue;
        constructor(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData);
        private updateCellQuestionTitleDueToAccessebility;
        locStrsChanged(): void;
        protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
        readonly question: Question;
        value: any;
        getQuestionWrapperClassName(className: string): string;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
    }
    export class MatrixDropdownTotalCell extends MatrixDropdownCell {
        column: MatrixDropdownColumn;
        row: MatrixDropdownRowModelBase;
        data: IMatrixDropdownData;
        constructor(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData);
        protected createQuestion(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, data: IMatrixDropdownData): Question;
        locStrsChanged(): void;
        updateCellQuestion(): void;
        getQuestionWrapperClassName(className: string): string;
        getTotalExpression(): string;
    }
    export class MatrixDropdownRowModelBase implements ISurveyData, ISurveyImpl, ILocalizableOwner {
        static RowVariableName: string;
        static OwnerVariableName: string;
        static IndexVariableName: string;
        static RowValueVariableName: string;
        static RowNameVariableName: string;
        private static idCounter;
        private static getId;
        protected data: IMatrixDropdownData;
        protected isSettingValue: boolean;
        private idValue;
        private textPreProcessor;
        private detailPanelValue;
        private visibleValue;
        cells: Array<MatrixDropdownCell>;
        showHideDetailPanelClick: any;
        onDetailPanelShowingChanged: () => void;
        constructor(data: IMatrixDropdownData, value: any);
        readonly id: string;
        readonly rowName: any;
        readonly dataName: string;
        readonly text: any;
        isRowEnabled(): boolean;
        protected isRowHasEnabledCondition(): boolean;
        readonly isVisible: boolean;
        visible: boolean;
        protected isItemVisible(): boolean;
        value: any;
        readonly locText: LocalizableString;
        getAccessbilityText(): string;
        readonly hasPanel: boolean;
        readonly detailPanel: PanelModel;
        readonly detailPanelId: string;
        readonly isDetailPanelShowing: boolean;
        private setIsDetailPanelShowing;
        private showHideDetailPanel;
        private isCreatingDetailPanel;
        showDetailPanel(): void;
        hideDetailPanel(destroyPanel?: boolean): void;
        private ensureDetailPanel;
        getAllValues(): any;
        getFilteredValues(): any;
        getFilteredProperties(): any;
        private getDataRowValue;
        private applyRowVariablesToValues;
        runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
        updateElementVisibility(): void;
        protected setRowsVisibleIfValues(values: any): void;
        getNamesWithDefaultValues(): Array<string>;
        clearValue(keepComment?: boolean): void;
        onAnyValueChanged(name: string, questionName: string): void;
        getDataValueCore(valuesHash: any, key: string): any;
        getValue(name: string): any;
        setValue(name: string, newColumnValue: any): void;
        getVariable(name: string): any;
        setVariable(name: string, newValue: any): void;
        getComment(name: string): string;
        setComment(name: string, newValue: string, locNotification: any): void;
        findQuestionByName(name: string): IQuestion;
        getEditingSurveyElement(): Base;
        private setValueCore;
        private updateQuestionsValue;
        private updateSharedQuestionsValue;
        runTriggers(name: string, value: any, keys?: any): void;
        private hasQuestonError;
        readonly isEmpty: boolean;
        getQuestionByColumn(column: MatrixDropdownColumn): Question;
        getCellByColumn(column: MatrixDropdownColumn): MatrixDropdownCell;
        private getCellByColumnName;
        getQuestionByColumnName(columnName: string): Question;
        readonly questions: Array<Question>;
        getQuestionByName(name: string): Question;
        getQuestionsByName(name: string): Array<Question>;
        getQuestionsByValueName(name: string): Array<Question>;
        protected getSharedQuestionByName(columnName: string): Question;
        clearIncorrectValues(val: any): void;
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        locStrsChanged(): void;
        updateCellQuestionOnColumnChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
        updateCellQuestionOnColumnItemValueChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
        onQuestionReadOnlyChanged(): void;
        private validationValues;
        hasErrors(fireCallback: boolean, rec: any, raiseOnCompletedAsyncValidators: () => void): boolean;
        protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
        updateCellOnColumnItemValueChanged(cell: MatrixDropdownCell, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
        protected buildCells(value: any): void;
        protected isTwoValueEquals(val1: any, val2: any): boolean;
        private getCellValue;
        protected createCell(column: MatrixDropdownColumn): MatrixDropdownCell;
        getSurveyData(): ISurveyData;
        getSurvey(): ISurvey;
        getTextProcessor(): ITextProcessor;
        readonly rowIndex: number;
        protected getRowIndex(): number;
        readonly editingObj: Base;
        private onEditingObjPropertyChanged;
        private editingObjValue;
        dispose(): void;
        private subscribeToChanges;
        private updateOnSetValue;
    }
    export class MatrixDropdownTotalRowModel extends MatrixDropdownRowModelBase {
        constructor(data: IMatrixDropdownData);
        protected createCell(column: MatrixDropdownColumn): MatrixDropdownCell;
        setValue(name: string, newValue: any): void;
        runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
        protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
    }
    /**
     * A base class for the [QuestionMatrixDropdownModel](https://surveyjs.io/form-library/documentation/questionmatrixdropdownmodel) and [QuestionMatrixDynamicModel](https://surveyjs.io/form-library/documentation/questionmatrixdynamicmodel) classes.
     */
    export class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseModel<MatrixDropdownRowModelBase, MatrixDropdownColumn> implements IMatrixDropdownData, IMatrixColumnOwner {
        static defaultCellType: string;
        static addDefaultColumns(matrix: QuestionMatrixDropdownModelBase): void;
        private detailPanelValue;
        private isUniqueCaseSensitiveValue;
        protected isRowChanging: boolean;
        columnsChangedCallback: () => void;
        onRenderedTableResetCallback: () => void;
        onRenderedTableCreatedCallback: (table: QuestionMatrixDropdownRenderedTable) => void;
        onCellCreatedCallback: (options: any) => void;
        onCellValueChangedCallback: (options: any) => void;
        onHasDetailPanelCallback: (row: MatrixDropdownRowModelBase) => boolean;
        onCreateDetailPanelCallback: (row: MatrixDropdownRowModelBase, panel: PanelModel) => void;
        onCreateDetailPanelRenderedRowCallback: (renderedRow: QuestionMatrixDropdownRenderedRow) => void;
        onAddColumn: (column: MatrixDropdownColumn) => void;
        onRemoveColumn: (column: MatrixDropdownColumn) => void;
        cellValueChangingCallback: (row: any, columnName: string, value: any, oldValue: any) => any;
        protected createColumnValues(): any[];
        constructor(name: string);
        getType(): string;
        dispose(): void;
        readonly hasSingleInput: boolean;
        readonly isContainer: boolean;
        readonly isRowsDynamic: boolean;
        private isUpdating;
        protected readonly isUpdateLocked: boolean;
        beginUpdate(): void;
        endUpdate(): void;
        protected updateColumnsAndRows(): void;
        itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
        /*
        * Specifies whether to display [`columns`](#columns) as rows and [`rows`](#rows) as columns.
        *
        * Default value: `false`
        *
        * [View Demo](https://surveyjs.io/form-library/examples/transpose-dynamic-rows-to-columns-in-matrix/ (linkStyle))
        */
        transposeData: boolean;
        /*
        * This property is obsolete. Use the [`transposeData`](#transposeData) property instead.
        */
        columnLayout: string;
        columnsLocation: string;
        /*
        * Specifies the error message position for questions within detail sections.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
        * - `"top"` - Displays error messages above questions.
        * - `"bottom"` - Displays error messages below questions.
        * @see cellErrorLocation
        */
        detailErrorLocation: string;
        /*
        * Specifies the error message position relative to matrix cells.
        *
        * Possible values:
        *
        * - `"default"` (default) - Inherits the setting from the [`errorLocation`](#errorLocation) property.
        * - `"top"` - Displays error messages above matrix cells.
        * - `"bottom"` - Displays error messages below matrix cells.
        * @see detailErrorLocation
        */
        cellErrorLocation: string;
        getChildErrorLocation(child: Question): string;
        /*
        * Returns `true` if [`columns`](#columns) are placed in the horizontal direction and [`rows`](#columns) in the vertical direction.
        *
        * To specify the layout, use the [`transposeData`](#transposeData) property. If you set it to `true`, the survey applies it only when the screen has enough space. Otherwise, the survey falls back to the original layout, but the `transposeData` property remains set to `true`. Unlike `transposeData`, the `isColumnLayoutHorizontal` property always indicates the current layout.
        * @see transposeData
        */
        readonly isColumnLayoutHorizontal: boolean;
        /*
        * Enables case-sensitive comparison in columns with the `isUnique` property set to `true`.
        *
        * When this property is `true`, `"ABC"` and `"abc"` are considered different values.
        *
        * Default value: `false`
        * @see keyDuplicationError
        */
        isUniqueCaseSensitive: boolean;
        /*
        * Specifies the location of detail sections.
        *
        * Possible values:
        *
        * - `"underRow"` - Displays detail sections under their respective rows. Users can expand any number of detail sections.
        * - `"underRowSingle"` - Displays detail sections under their respective rows, but only one detail section can be expanded at a time.
        * - `"none"` (default) - Hides detail sections.
        *
        * Use the `detailElements` property to specify content of detail sections.
        * @see detailElements
        * @see detailPanel
        */
        detailPanelMode: string;
        /*
        * Contains a [`PanelModel`](https://surveyjs.io/form-library/documentation/panelmodel) instance that represents a detail section template.
        * @see detailElements
        * @see detailPanelMode
        */
        readonly detailPanel: PanelModel;
        getPanel(): IPanel;
        /*
        * An array of survey elements (questions and panels) to be displayed in detail sections.
        *
        * Detail sections are expandable panels displayed under each matrix row. You can use them to display questions that do not fit into the row.
        *
        * Set the `detailPanelMode` property to `"underRow"` or `"underRowSingle"` to display detail sections.
        * @see detailPanelMode
        * @see detailPanel
        */
        readonly detailElements: Array<IElement>;
        protected createNewDetailPanel(): PanelModel;
        readonly hasRowText: boolean;
        getFooterText(): LocalizableString;
        readonly canAddRow: boolean;
        readonly canRemoveRows: boolean;
        canRemoveRow(row: MatrixDropdownRowModelBase): boolean;
        onPointerDown(pointerDownEvent: PointerEvent, row: MatrixDropdownRowModelBase): void;
        protected onRowsChanged(): void;
        private lockResetRenderedTable;
        protected onStartRowAddingRemoving(): void;
        protected onEndRowAdding(): void;
        protected onEndRowRemoving(row: MatrixDropdownRowModelBase): void;
        private renderedTableValue: any;
        protected clearRowsAndResetRenderedTable(): void;
        resetRenderedTable(columnVisibilityChanged?: boolean): void;
        protected clearGeneratedRows(): void;
        protected readonly isRendredTableCreated: boolean;
        readonly renderedTable: QuestionMatrixDropdownRenderedTable;
        protected createRenderedTable(): QuestionMatrixDropdownRenderedTable;
        protected onMatrixRowCreated(row: MatrixDropdownRowModelBase): void;
        /*
        * Specifies the type of matrix cells. You can override this property for individual columns.
        *
        * Possible values:
        *
        * - [`"dropdown"`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model)
        * - [`"checkbox"`](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model)
        * - [`"radiogroup"`](https://surveyjs.io/form-library/documentation/api-reference/radio-button-question-model)
        * - [`"tagbox"`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model)
        * - [`"text"`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model)
        * - [`"comment"`](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model)
        * - [`"boolean"`](https://surveyjs.io/form-library/documentation/api-reference/boolean-question-model)
        * - [`"expression"`](https://surveyjs.io/form-library/documentation/api-reference/expression-model)
        * - [`"rating"`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model)
        *
        * Default value: `"dropdown"` (inherited from [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/settings#matrixDefaultCellType))
        */
        cellType: string;
        isSelectCellType(): boolean;
        private updateColumnsCellType;
        private updateColumnsIndexes;
        /*
        * Specifies the number of columns in Radiogroup and Checkbox cells.
        *
        * Default value: 0 (the number of columns is selected automatically based on the available column width)
        * @see cellType
        */
        columnColCount: number;
        horizontalScroll: boolean;
        allowAdaptiveActions: boolean;
        getRequiredText(): string;
        hasChoices(): boolean;
        onColumnPropertyChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
        onColumnItemValuePropertyChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
        onShowInMultipleColumnsChanged(column: MatrixDropdownColumn): void;
        onColumnVisibilityChanged(column: MatrixDropdownColumn): void;
        onColumnCellTypeChanged(column: MatrixDropdownColumn): void;
        private updateDefaultRowValue;
        private resetTableAndRows;
        getRowTitleWidth(): string;
        readonly hasFooter: boolean;
        getAddRowLocation(): string;
        getShowColumnsIfEmpty(): boolean;
        protected updateShowTableAndAddRow(): void;
        protected updateHasFooter(): void;
        readonly hasTotal: boolean;
        getCellType(): string;
        getCustomCellType(column: MatrixDropdownColumn, row: MatrixDropdownRowModelBase, cellType: string): string;
        getConditionJson(operator?: string, path?: string): any;
        clearIncorrectValues(): void;
        clearErrors(): void;
        localeChanged(): void;
        private runFuncForCellQuestions;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        runTriggers(name: string, value: any, keys?: any): void;
        updateElementVisibility(): void;
        protected shouldRunColumnExpression(): boolean;
        protected runCellsCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
        private checkColumnsVisibility;
        private checkColumnsRenderedRequired;
        private isColumnVisibilityChanged;
        private updateNewVisibleChoices;
        protected runTotalsCondition(values: HashTable<any>, properties: HashTable<any>): void;
        private getRowConditionValues;
        IsMultiplyColumn(column: MatrixDropdownColumn): boolean;
        locStrsChanged(): void;
        /**
         * Returns a matrix column with a given `name` or `null` if a column with this is not found.
         * @param columnName A column name.
         */
        getColumnByName(columnName: string): MatrixDropdownColumn;
        getColumnName(columnName: string): MatrixDropdownColumn;
        getColumnWidth(column: MatrixDropdownColumn): string;
        /*
        * Gets or sets choice items for Dropdown, Checkbox, and Radiogroup matrix cells. You can override this property for individual columns.
        *
        * This property accepts an array of objects with the following structure:
        *
        * ```js
        * {
        *   "value": any, // A value to be saved in survey results
        *   "text": String, // A display text. This property supports Markdown. When `text` is undefined, `value` is used.
        *   "customProperty": any // Any property that you find useful.
        * }
        * ```
        *
        * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
        *
        * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
        *
        * If you need to specify only the `value` property, you can set the `choices` property to an array of primitive values, for example, `[ "item1", "item2", "item3" ]`. These values are both saved in survey results and used as display text.
        * @see cellType
        */
        choices: Array<any>;
        /*
        * A placeholder for Dropdown matrix cells.
        * @see cellType
        */
        placeholder: string;
        readonly locPlaceholder: LocalizableString;
        optionsCaption: string;
        /*
        * An error message displayed when users enter a duplicate value into a column that accepts only unique values (`isUnique` is set to `true` or `keyName` is specified).
        *
        * A default value for this property is taken from a [localization dictionary](https://github.com/surveyjs/survey-library/tree/01bd8abd0c574719956d4d579d48c8010cd389d4/packages/survey-core/src/localization). Refer to the following help topic for more information: [Localization & Globalization](https://surveyjs.io/form-library/documentation/localization).
        * @see isUniqueCaseSensitive
        */
        keyDuplicationError: string;
        readonly locKeyDuplicationError: LocalizableString;
        readonly storeOthersAsComment: boolean;
        addColumn(name: string, title?: string): MatrixDropdownColumn;
        private visibleRowsArray;
        protected clearVisibleRows(): void;
        protected isColumnVisible(column: any): boolean;
        private isGenereatingRows;
        protected getVisibleRows(): Array<MatrixDropdownRowModelBase>;
        private generateVisibleRowsIfNeeded;
        private runTriggersOnNewRows;
        private getVisibleFromGenerated;
        private updateValueOnRowsGeneration;
        readonly totalValue: any;
        protected getVisibleTotalRow(): MatrixDropdownRowModelBase;
        readonly visibleTotalRow: MatrixDropdownRowModelBase;
        onSurveyLoad(): void;
        /**
         * Returns an object with row values. If a row has no answers, this method returns an empty object.
         * @param rowIndex A zero-based row index.
         * @see setRowValue
         */
        getRowValue(rowIndex: number): any;
        checkIfValueInRowDuplicated(checkedRow: MatrixDropdownRowModelBase, cellQuestion: Question): boolean;
        /**
         * Assigns values to a row.
         * @param rowIndex A zero-based row index.
         * @param rowValue An object with the following structure: `{ "column_name": columnValue, ... }`
         * @see getRowValue
         */
        setRowValue(rowIndex: number, rowValue: any): any;
        protected generateRows(): Array<MatrixDropdownRowModelBase>;
        protected generateTotalRow(): MatrixDropdownRowModelBase;
        protected createNewValue(nullOnEmpty?: boolean): any;
        protected getRowValueCore(row: MatrixDropdownRowModelBase, questionValue: any, create?: boolean): any;
        protected getRowObj(row: MatrixDropdownRowModelBase): any;
        protected getRowDisplayValue(keysAsText: boolean, row: MatrixDropdownRowModelBase, rowValue: any): any;
        getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
        addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
        onHidingContent(): void;
        protected getIsReadyNestedQuestions(): Array<Question>;
        protected collectNestedQuestionsCore(questions: Question[], visibleOnly: boolean, includeItSelf: boolean): void;
        protected collectNestedQuestonsInRows(rows: Array<MatrixDropdownRowModelBase>, questions: Question[], visibleOnly: boolean, includeItSelf: boolean): void;
        protected getConditionObjectRowName(index: number): string;
        protected getConditionObjectRowText(index: number): string;
        protected getConditionObjectsRowIndeces(): Array<number>;
        getProgressInfo(): IProgressInfo;
        protected getIsRequireToGenerateRows(): boolean;
        protected updateProgressInfoByValues(res: IProgressInfo): void;
        protected updateProgressInfoByRow(res: IProgressInfo, rowValue: any): void;
        private getCellQuestions;
        protected onBeforeValueChanged(val: any): void;
        private onSetQuestionValue;
        protected setQuestionValue(newValue: any): void;
        supportGoNextPageAutomatic(): boolean;
        protected getContainsErrors(): boolean;
        protected getIsAnswered(): boolean;
        private checkForAnswersOrErrors;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        protected getIsRunningValidators(): boolean;
        getAllErrors(): Array<SurveyError>;
        private hasErrorInRows;
        private isValueDuplicated;
        protected getUniqueColumnsNames(): Array<string>;
        private isValueInColumnDuplicated;
        private getDuplicatedRows;
        private showDuplicatedErrorsInRows;
        private removeDuplicatedErrorsInRows;
        private getDuplicationError;
        private addDuplicationError;
        private removeDuplicationError;
        getFirstQuestionToFocus(withError: boolean): Question;
        protected getFirstInputElementId(): string;
        protected getFirstErrorInputElementId(): string;
        protected getFirstCellQuestion(onError: boolean): Question;
        protected onReadOnlyChanged(): void;
        createQuestion(row: MatrixDropdownRowModelBase, column: MatrixDropdownColumn): Question;
        protected createQuestionCore(row: MatrixDropdownRowModelBase, column: MatrixDropdownColumn): Question;
        protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
        private isDoingonAnyValueChanged;
        private isValueChangedWithoutRows;
        onAnyValueChanged(name: string, questionName: string): void;
        protected isObject(value: any): boolean;
        private getOnCellValueChangedOptions;
        protected onCellValueChanged(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): void;
        validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
        readonly isValidateOnValueChanging: boolean;
        protected readonly hasInvisibleRows: boolean;
        getFilteredData(): any;
        protected getFilteredDataCore(): any;
        onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
        onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
        private getNewValueOnRowChanged;
        protected correctValueForMinMaxRows(newValue: any): any;
        getRowIndex(row: MatrixDropdownRowModelBase): number;
        getElementsInDesign(includeHidden?: boolean): Array<IElement>;
        hasDetailPanel(row: MatrixDropdownRowModelBase): boolean;
        getIsDetailPanelShowing(row: MatrixDropdownRowModelBase): boolean;
        setIsDetailPanelShowing(row: MatrixDropdownRowModelBase, val: boolean): void;
        getDetailPanelButtonCss(row: MatrixDropdownRowModelBase): string;
        getDetailPanelIconCss(row: MatrixDropdownRowModelBase): string;
        getDetailPanelIconId(row: MatrixDropdownRowModelBase): string;
        private updateDetailPanelButtonCss;
        createRowDetailPanel(row: MatrixDropdownRowModelBase): PanelModel;
        getSharedQuestionByName(columnName: string, row: MatrixDropdownRowModelBase): Question;
        onTotalValueChanged(): any;
        getDataFilteredValues(): any;
        getParentTextProcessor(): ITextProcessor;
        isMatrixReadOnly(): boolean;
        onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
        protected clearValueIfInvisibleCore(reason: string): void;
        protected clearInvisibleValuesInRows(): void;
        protected isRowsFiltered(): boolean;
        getQuestionFromArray(name: string, index: number): IQuestion;
        private isMatrixValueEmpty;
        private readonly SurveyModel: any;
        getCellTemplateData(cell: QuestionMatrixDropdownRenderedCell): any;
        getCellWrapperComponentName(cell: MatrixDropdownCell): string;
        getCellWrapperComponentData(cell: MatrixDropdownCell): any;
        getColumnHeaderWrapperComponentName(cell: MatrixDropdownCell): string;
        getColumnHeaderWrapperComponentData(cell: MatrixDropdownCell): any;
        getRowHeaderWrapperComponentName(cell: MatrixDropdownCell): string;
        getRowHeaderWrapperComponentData(cell: MatrixDropdownCell): any;
        readonly showHorizontalScroll: boolean;
        protected onMobileChanged(): void;
        getRootCss(): string;
        afterRenderQuestionElement(el: HTMLElement): void;
        beforeDestroyQuestionElement(el: HTMLElement): void;
        private rootElement;
        setRootElement(val: HTMLElement): void;
        getRootElement(): HTMLElement;
    }
}
declare module "packages/survey-core/src/base-interfaces" {
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { HashTable } from "packages/survey-core/src/helpers";
    import { MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from "packages/survey-core/src/question_matrixdropdownbase";
    import { AdaptiveActionContainer } from "packages/survey-core/src/actions/adaptive-container";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { Base } from "packages/survey-core/src/base";
    import { IAction } from "packages/survey-core/src/actions/action";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { PanelLayoutColumnModel } from "packages/survey-core/src/panel-layout-column";
    import { QuestionPanelDynamicModel } from "packages/survey-core/src/question_paneldynamic";
    import { DragDropAllowEvent } from "packages/survey-core/src/survey-events-api";
    import { PopupModel } from "packages/survey-core/src/popup";
    export interface ISurveyData {
        getValue(name: string): any;
        setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean, questionName?: string): any;
        getVariable(name: string): any;
        setVariable(name: string, newValue: any): void;
        getComment(name: string): string;
        setComment(name: string, newValue: string, locNotification: any): any;
        getAllValues(): any;
        getFilteredValues(): any;
        getFilteredProperties(): any;
        findQuestionByName(name: string): IQuestion;
        getEditingSurveyElement(): Base;
    }
    export interface ITextProcessorProp {
        text: string;
        returnDisplayValue?: boolean;
        doEncoding?: boolean;
        runAtDesign?: boolean;
        replaceUndefinedValues?: boolean;
    }
    export interface ITextProcessorResult {
        text: string;
        hasAllValuesOnLastRun: boolean;
    }
    export interface ITextProcessor {
        processText(text: string, returnDisplayValue: boolean): string;
        processTextEx(params: ITextProcessorProp): ITextProcessorResult;
    }
    export interface ISurveyErrorOwner extends ILocalizableOwner {
        getErrorCustomText(text: string, error: SurveyError): string;
    }
    export interface IValueItemCustomPropValues {
        propertyName: string;
        values: Array<any>;
    }
    export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
        getSkeletonComponentName(element: ISurveyElement): string;
        currentPage: IPage;
        activePage: IPage;
        pages: Array<IPage>;
        getCss(): any;
        isPageStarted(page: IPage): boolean;
        getQuestionByName(name: string): IQuestion;
        pageVisibilityChanged(page: IPage, newValue: boolean): any;
        panelVisibilityChanged(panel: IPanel, newValue: boolean): any;
        questionVisibilityChanged(question: IQuestion, newValue: boolean, resetIndexes: boolean): any;
        isEditingSurveyElement: boolean;
        getQuestionClearIfInvisible(questionClearIf: string): string;
        questionsOrder: string;
        matrixDragHandleArea: string;
        keepIncorrectValues: boolean;
        questionCreated(question: IQuestion): any;
        questionAdded(question: IQuestion, index: number, parentPanel: any, rootPanel: any): any;
        panelAdded(panel: IElement, index: number, parentPanel: any, rootPanel: any): any;
        questionRemoved(question: IQuestion): any;
        panelRemoved(panel: IElement): any;
        questionRenamed(question: IQuestion, oldName: string, oldValueName: string): any;
        focusQuestionByInstance(question: IQuestion, onError: boolean): boolean;
        validateQuestion(question: IQuestion): SurveyError;
        validatePanel(panel: IPanel): SurveyError;
        hasVisibleQuestionByValueName(question: IQuestion): boolean;
        questionsByValueName(valueName: string): Array<IQuestion>;
        processHtml(html: string, reason: string): string;
        getSurveyMarkdownHtml(element: Base, text: string, name: string): string;
        getRendererForString(element: Base, name: string): string;
        getRendererContextForString(element: Base, locStr: LocalizableString): any;
        getExpressionDisplayValue(question: IQuestion, value: any, displayValue: string): string;
        gridLayoutEnabled: boolean;
        isDisplayMode: boolean;
        isDesignMode: boolean;
        areInvisibleElementsShowing: boolean;
        currentSingleElement: IElement;
        areEmptyElementsHidden: boolean;
        isLoadingFromJson: boolean;
        isUpdateValueTextOnTyping: boolean;
        autoGrowComment: boolean;
        allowResizeComment: boolean;
        commentAreaRows: number;
        state: string;
        isLazyRendering: boolean;
        lazyRenderingFirstBatchSize: number;
        cancelPreviewByPage(panel: IPanel): any;
        locEditText: LocalizableString;
        cssNavigationEdit: string;
        rootElement?: HTMLElement;
        requiredText: string;
        beforeSettingQuestionErrors(question: IQuestion, errors: Array<SurveyError>): void;
        beforeSettingPanelErrors(question: IPanel, errors: Array<SurveyError>): void;
        getQuestionDisplayValue(question: IElement, displayValue: any): any;
        getSurveyErrorCustomText(obj: Base, text: string, error: SurveyError): string;
        getElementTitleTagName(element: Base, tagName: string): string;
        questionTitlePattern: string;
        getUpdatedQuestionTitle(question: IQuestion, title: string): string;
        getUpdatedQuestionNo(question: IQuestion, no: string): string;
        getUpdatedPanelNo(question: IPanel, no: string): string;
        getUpdatedPageNo(question: IPage, no: string): string;
        getUpdatedElementTitleActions(element: ISurveyElement, titleActions: Array<IAction>): Array<IAction>;
        getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: MatrixDropdownRowModelBase, actions: Array<IAction>): Array<IAction>;
        getUpdatedPanelFooterActions(panel: PanelModel, actions: Array<IAction>, question?: QuestionPanelDynamicModel): Array<IAction>;
        questionStartIndex: string;
        questionTitleLocation: string;
        questionDescriptionLocation: string;
        questionErrorLocation: string;
        storeOthersAsComment: boolean;
        maxTextLength: number;
        maxOthersLength: number;
        clearValueOnDisableItems: boolean;
        timeLimitPerPage: number;
        uploadFiles(question: IQuestion, name: string, files: File[], uploadingCallback: (data: any | Array<any>, errors?: any | Array<any>) => any): any;
        downloadFile(question: IQuestion, name: string, content: string, callback: (status: string, data: any) => any): any;
        clearFiles(question: IQuestion, name: string, value: any, fileName: string, clearCallback: (status: string, data: any) => any): any;
        updateChoicesFromServer(question: IQuestion, choices: Array<any>, serverResult: any): Array<any>;
        loadedChoicesFromServer(question: IQuestion): void;
        updateQuestionCssClasses(question: IQuestion, cssClasses: any): any;
        updatePanelCssClasses(panel: IPanel, cssClasses: any): any;
        updatePageCssClasses(panel: IPanel, cssClasses: any): any;
        updateChoiceItemCss(question: IQuestion, options: any): any;
        afterRenderQuestion(question: IQuestion, htmlElement: HTMLElement): any;
        afterRenderQuestionInput(question: IQuestion, htmlElement: HTMLElement): any;
        afterRenderPanel(panel: IElement, htmlElement: HTMLElement): any;
        afterRenderPage(htmlElement: HTMLElement): any;
        getQuestionByValueNameFromArray(valueName: string, name: string, index: number): IQuestion;
        canChangeChoiceItemsVisibility(): boolean;
        getChoiceItemVisibility(question: IQuestion, item: any, val: boolean): boolean;
        loadQuestionChoices(options: {
            question: IQuestion;
            filter: string;
            skip: number;
            take: number;
            setItems: (items: Array<any>, totalCount: number) => void;
        }): void;
        getChoiceDisplayValue(options: {
            question: IQuestion;
            values: Array<any>;
            setItems: (displayValues: Array<string>, ...customValues: Array<IValueItemCustomPropValues>) => void;
        }): void;
        matrixRowAdded(question: IQuestion, row: any): any;
        matrixColumnAdded(question: IQuestion, column: any): void;
        matrixBeforeRowAdded(options: {
            question: IQuestion;
            canAddRow: boolean;
        }): any;
        matrixRowRemoved(question: IQuestion, rowIndex: number, row: any): any;
        matrixRowRemoving(question: IQuestion, rowIndex: number, row: any): boolean;
        matrixAllowRemoveRow(question: IQuestion, rowIndex: number, row: any): boolean;
        matrixDetailPanelVisibleChanged(question: IQuestion, rowIndex: number, row: any, visible: boolean): void;
        matrixCellCreating(question: IQuestion, options: any): any;
        matrixCellCreated(question: IQuestion, options: any): any;
        matrixAfterCellRender(question: IQuestion, options: any): any;
        matrixCellValueChanged(question: IQuestion, options: any): any;
        matrixCellValueChanging(question: IQuestion, options: any): any;
        isValidateOnValueChanging: boolean;
        isValidateOnValueChanged: boolean;
        getValidateVisitedEmptyFields(): boolean;
        multipleTextItemAdded(question: IQuestion, item: any): void;
        matrixCellValidate(question: IQuestion, options: any): SurveyError;
        dynamicPanelAdded(question: IQuestion, panelIndex: number, panel: IPanel, updateIndexes: boolean): void;
        dynamicPanelRemoved(question: IQuestion, panelIndex: number, panel: IPanel, updateIndexes: boolean): void;
        dynamicPanelRemoving(question: IQuestion, panelIndex: number, panel: IPanel): boolean;
        dynamicPanelItemValueChanged(question: IQuestion, options: any): void;
        dynamicPanelItemValueChanging(question: IQuestion, options: any): void;
        dynamicPanelGetTabTitle(question: IQuestion, options: any): any;
        dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
        dragAndDropAllow(options: DragDropAllowEvent): boolean;
        scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions, passedRootElement?: HTMLElement, onScolledCallback?: () => void): any;
        runExpression(expression: string, callback?: (res: any) => void): any;
        startSetValueOnExpression(): void;
        finishSetValueOnExpression(): void;
        elementContentVisibilityChanged(element: ISurveyElement): void;
        onCorrectQuestionAnswer(question: IQuestion, options: any): void;
        processPopupVisiblityChanged(question: IQuestion, popupModel: PopupModel, visible: boolean): void;
        processOpenDropdownMenu(question: IQuestion, options: IDropdownMenuOptions): void;
        chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void, context?: {
            element: Base;
            item?: any;
            elementType?: string;
            propertyName?: string;
        }): void;
    }
    export interface ISurveyImpl {
        getSurveyData(): ISurveyData;
        getSurvey(): ISurvey;
        getTextProcessor(): ITextProcessor;
    }
    export interface IConditionRunner {
        runCondition(values: HashTable<any>, properties: HashTable<any>): any;
    }
    export interface IShortcutText {
        shortcutText: string;
    }
    export interface ISurveyElement extends IShortcutText {
        name: string;
        isVisible: boolean;
        isReadOnly: boolean;
        isPage: boolean;
        isPanel: boolean;
        isQuestion: boolean;
        containsErrors: boolean;
        parent: IPanel;
        skeletonComponentName: string;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): any;
        onSurveyLoad(): any;
        onFirstRendering(): any;
        getType(): string;
        setVisibleIndex(value: number): number;
        locStrsChanged(): any;
        delete(doDispose?: boolean): void;
        toggleState(): void;
        stateChangedCallback(): void;
        getTitleToolbar(): AdaptiveActionContainer;
        isCollapsed: boolean;
        isExpanded: boolean;
        expand(): void;
        collapse(): void;
    }
    export interface IElement extends IConditionRunner, ISurveyElement {
        visible: boolean;
        renderWidth: string;
        width: string;
        minWidth?: string;
        maxWidth?: string;
        isExpanded: boolean;
        isCollapsed: boolean;
        rightIndent: number;
        startWithNewLine: boolean;
        colSpan?: number;
        registerPropertyChangedHandlers(propertyNames: Array<string>, handler: any, key: string): void;
        registerFunctionOnPropertyValueChanged(name: string, func: any, key: string): void;
        unRegisterFunctionOnPropertyValueChanged(name: string, key: string): void;
        getPanel(): IPanel;
        getLayoutType(): string;
        isLayoutTypeSupported(layoutType: string): boolean;
        removeElement(el: IElement): boolean;
        onAnyValueChanged(name: string, questionName: string): void;
        updateCustomWidgets(): any;
        clearIncorrectValues(): any;
        clearErrors(): any;
        dispose(): void;
        needResponsiveWidth(): boolean;
        updateRootStyle(): void;
        updateElementVisibility(): void;
    }
    export interface IQuestion extends IElement, ISurveyErrorOwner {
        hasTitle: boolean;
        isEmpty(): boolean;
        onSurveyValueChanged(newValue: any): any;
        updateValueFromSurvey(newValue: any, clearData: boolean): void;
        updateCommentFromSurvey(newValue: any): any;
        supportGoNextPageAutomatic(): boolean;
        clearUnusedValues(): any;
        getDisplayValue(keysAsText: boolean, value: any): any;
        getValueName(): string;
        clearValue(): any;
        clearValueIfInvisible(): any;
        isAnswerCorrect(): boolean;
        updateValueWithDefaults(): any;
        getQuestionFromArray(name: string, index: number): IQuestion;
        value: any;
        survey: any;
    }
    export interface IParentElement {
        addElement(element: IElement, index: number): any;
        removeElement(element: IElement): boolean;
        isReadOnly: boolean;
    }
    export interface IPanel extends ISurveyElement, IParentElement {
        getChildrenLayoutType(): string;
        getQuestionTitleLocation(): string;
        getQuestionTitleWidth(): string;
        getQuestionStartIndex(): string;
        getQuestionErrorLocation(): string;
        getColumsForElement(el: IElement): Array<PanelLayoutColumnModel>;
        updateColumns(): void;
        parent: IPanel;
        elementWidthChanged(el: IElement): any;
        indexOf(el: IElement): number;
        elements: Array<IElement>;
        ensureRowsVisibility(): void;
        validateContainerOnly(): void;
        onQuestionValueChanged(el: IElement): void;
    }
    export interface IPage extends IPanel, IConditionRunner {
        isStartPage: boolean;
    }
    export interface ITitleOwner {
        name: string;
        no: string;
        requiredText: string;
        cssTitleNumber: string;
        cssRequiredText?: string;
        isRequireTextOnStart: boolean;
        isRequireTextBeforeTitle: boolean;
        isRequireTextAfterTitle: boolean;
        locTitle: LocalizableString;
    }
    export interface IProgressInfo {
        questionCount: number;
        answeredQuestionCount: number;
        requiredQuestionCount: number;
        requiredAnsweredQuestionCount: number;
    }
    export interface IWrapperObject {
        getOriginalObj(): Base;
        getClassNameProperty(): string;
    }
    export interface IFindElement {
        element: Base;
        str: LocalizableString;
    }
    export type ISurveyEnvironment = {
        root: Document | ShadowRoot;
        rootElement: HTMLElement | ShadowRoot;
        popupMountContainer: HTMLElement | string;
        svgMountContainer: HTMLElement | string;
        stylesSheetsMountContainer: HTMLElement;
    };
    export type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom" | "center";
    export type HorizontalAlignment = "left" | "center" | "right";
    export type VerticalAlignment = "top" | "middle" | "bottom";
    export interface ISurveyLayoutElement {
        id: string;
        container?: LayoutElementContainer | Array<LayoutElementContainer>;
        component?: string;
        template?: string;
        data?: any;
        index?: number;
        processResponsiveness?: (width: number) => void;
    }
    export interface IPlainDataOptions {
        includeEmpty?: boolean;
        includeQuestionTypes?: boolean;
        includeValues?: boolean;
        calculations?: Array<{
            propertyName: string;
        }>;
    }
    export interface ILoadFromJSONOptions {
        validatePropertyValues?: boolean;
    }
    export interface ISaveToJSONOptions {
        storeDefaults?: boolean;
        version?: string;
    }
    export interface IDropdownMenuOptions {
        menuType: "dropdown" | "popup" | "overlay";
        deviceType: "mobile" | "tablet" | "desktop";
        hasTouchScreen: boolean;
        screenHeight: number;
        screenWidth: number;
    }
}
declare module "packages/survey-core/src/jsonobject" {
    import { Base } from "packages/survey-core/src/base";
    import { ILoadFromJSONOptions, ISaveToJSONOptions } from "packages/survey-core/src/base-interfaces";
    export interface IPropertyDecoratorOptions<T = any> {
        defaultValue?: T;
        defaultSource?: string;
        getDefaultValue?: (objectInstance?: any) => T;
        localizable?: {
            name?: string;
            onGetTextCallback?: (str: string) => string;
            defaultStr?: string;
        } | boolean;
        onSet?: (val: T, objectInstance: any, prevVal?: T) => void;
    }
    export function property(options?: IPropertyDecoratorOptions): (target: any, key: string) => void;
    export interface IArrayPropertyDecoratorOptions {
        onPush?: any;
        onRemove?: any;
        onSet?: (val: any, target: any) => void;
    }
    export function propertyArray(options?: IArrayPropertyDecoratorOptions): (target: any, key: string) => void;
    export interface IObject {
        [key: string]: any;
    }
    export interface IJsonPropertyInfo {
        name: string;
        type?: string;
        className?: string;
        classNamePart?: string;
        baseClassName?: string;
        isRequired?: boolean;
        isUnique?: boolean;
        uniqueProperty?: string;
        choices?: any;
        visible?: boolean;
        alternativeName?: string;
        oldName?: string;
        version?: string;
        dataList?: Array<string>;
        isLocalizable?: boolean;
        isSerializable?: boolean;
        isLightSerializable?: boolean;
        readOnly?: boolean;
        availableInMatrixColumn?: boolean;
        serializationProperty?: string;
        dependsOn?: Array<string> | string;
        isBindable?: boolean;
        isArray?: boolean;
        layout?: string;
        default?: any;
        defaultFunc?: (obj: Base) => any;
        baseValue?: any;
        onSerializeValue?: (obj: any) => any;
        onGetValue?: (obj: any) => any;
        onSettingValue?: (obj: any, value: any) => any;
        onSetValue?: (obj: any, value: any, jsonConv: JsonObject) => any;
        visibleIf?: (obj: any) => boolean;
        enableIf?: (obj: any) => boolean;
        onExecuteExpression?: (obj: any, res: any) => any;
        onPropertyEditorUpdate?: (obj: any, propEditor: any) => any;
        displayName?: string;
        category?: string;
        categoryIndex?: number;
        visibleIndex?: number;
        nextToProperty?: string;
        overridingProperty?: string;
        showMode?: string;
        maxLength?: number;
        maxValue?: any;
        minValue?: any;
    }
    /**
     * Contains information about a property of a survey element (page, panel, questions, and etc).
     * @see addProperty
     * @see removeProperty
     * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)
     * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)
     */
    export class JsonObjectProperty implements IObject, IJsonPropertyInfo {
        name: string;
        static getItemValuesDefaultValue: (val: any, type: string) => any;
        [key: string]: any;
        private static Index;
        private static mergableValues;
        private idValue;
        private classInfoValue;
        private typeValue;
        private choicesValue;
        baseValue: any;
        private isRequiredValue;
        private isUniqueValue;
        private uniquePropertyValue;
        private readOnlyValue;
        private visibleValue;
        private isLocalizableValue;
        private choicesfunc;
        private dependedProperties;
        isSerializable: boolean;
        isLightSerializable: boolean;
        isCustom: boolean;
        isDynamicChoices: boolean;
        isBindable: boolean;
        className: string;
        alternativeName: string;
        oldName: string;
        classNamePart: string;
        baseClassName: string;
        defaultValueValue: any;
        defaultValueFunc: (obj: Base) => any;
        serializationProperty: string;
        displayName: string;
        category: string;
        categoryIndex: number;
        visibleIndex: number;
        nextToProperty: string;
        overridingProperty: string;
        showMode: string;
        availableInMatrixColumn: boolean;
        maxLength: number;
        maxValue: any;
        minValue: any;
        private dataListValue;
        layout: string;
        version: string;
        onSerializeValue: (obj: any) => any;
        onGetValue: (obj: any) => any;
        onSettingValue: (obj: any, value: any) => any;
        onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
        visibleIf: (obj: any) => boolean;
        enableIf: (obj: any) => boolean;
        onExecuteExpression: (obj: any, res: any) => any;
        onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
        constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
        uniqueProperty?: string;
        dependsOn?: string | Array<string>;
        default?: any;
        defaultFunc?: (obj: Base) => any;
        readonly id: number;
        readonly classInfo: JsonMetadataClass;
        type: string;
        isArray: boolean;
        isRequired: boolean;
        isUnique: boolean;
        uniquePropertyName: string;
        readonly hasToUseGetValue: string | ((obj: any) => any);
        getDefaultValue(obj: Base): any;
        defaultValue: any;
        isDefaultValue(value: any): boolean;
        isDefaultValueByObj(obj: Base, value: any): boolean;
        getSerializableValue(obj: any, storeDefaults?: boolean): any;
        getValue(obj: any): any;
        getPropertyValue(obj: any): any;
        readonly hasToUseSetValue: string | ((obj: any, value: any, jsonConv: JsonObject) => any);
        settingValue(obj: any, value: any): any;
        setValue(obj: any, value: any, jsonConv: JsonObject): void;
        validateValue(value: any): boolean;
        getObjType(objType: string): string;
        /*
        * Depricated, please use getChoices
        */
        readonly choices: Array<any>;
        readonly hasChoices: boolean;
        getChoices(obj: any, choicesCallback?: any): Array<any>;
        setChoices(value: Array<any>, valueFunc?: (obj: any) => Array<any>): void;
        getBaseValue(): string;
        setBaseValue(val: any): void;
        readOnly: boolean;
        isEnable(obj: any): boolean;
        isVisible(layout: string, obj?: any): boolean;
        private getOriginalObj;
        visible: boolean;
        isAvailableInVersion(ver: string): boolean;
        getSerializedName(ver: string): string;
        getSerializedProperty(obj: any, ver: string): JsonObjectProperty;
        private isAvailableInVersionCore;
        isLocalizable: boolean;
        dataList: Array<string>;
        mergeWith(prop: JsonObjectProperty): void;
        addDependedProperty(name: string): void;
        getDependedProperties(): Array<string>;
        schemaType(): string;
        schemaRef(): string;
        private mergeValue;
    }
    export class CustomPropertiesCollection {
        private static properties;
        private static parentClasses;
        static addProperty(className: string, property: any): void;
        static removeProperty(className: string, propertyName: string): void;
        static removeAllProperties(className: string): void;
        static addClass(className: string, parentClassName: string): void;
        static getProperties(className: string): Array<any>;
        static createProperties(obj: any): void;
        private static createPropertiesCore;
        private static createPropertiesInObj;
        private static createPropertyInObj;
        private static checkIsPropertyExists;
    }
    export class JsonMetadataClass {
        name: string;
        creator: (json?: any) => any;
        parentName: string;
        static requiredSymbol: string;
        static typeSymbol: string;
        properties: Array<JsonObjectProperty>;
        private isCustomValue;
        private allProperties;
        private requiredProperties;
        private hashProperties;
        constructor(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string);
        find(name: string): JsonObjectProperty;
        findProperty(name: string): JsonObjectProperty;
        getAllProperties(): Array<JsonObjectProperty>;
        getRequiredProperties(): Array<JsonObjectProperty>;
        resetAllProperties(): void;
        readonly isCustom: boolean;
        private fillAllProperties;
        private addPropCore;
        private isOverridedProp;
        private hasRegularChildClass;
        private makeParentRegularClass;
        createProperty(propInfo: any, isCustom?: boolean): JsonObjectProperty;
        private addDependsOnProperties;
        private addDependsOnProperty;
        private getIsPropertyNameRequired;
        private getPropertyName;
    }
    /**
     * The metadata object. It contains object properties' runtime information and allows you to modify it.
     */
    export class JsonMetadata {
        private classes;
        private alternativeNames;
        private childrenClasses;
        private dynamicPropsCache;
        onSerializingProperty: ((obj: Base, prop: JsonObjectProperty, value: any, json: any) => boolean) | undefined;
        getObjPropertyValue(obj: any, name: string): any;
        setObjPropertyValue(obj: any, name: string, val: any): void;
        private getObjPropertyValueCore;
        private isObjWrapper;
        private isNeedUseObjWrapper;
        addClass(name: string, properties: Array<IJsonPropertyInfo | string>, creator?: (json?: any) => any, parentName?: string): JsonMetadataClass;
        removeClass(name: string): void;
        overrideClassCreatore(name: string, creator: () => any): void;
        overrideClassCreator(name: string, creator: () => any): void;
        getProperties(className: string): Array<JsonObjectProperty>;
        getPropertiesByObj(obj: any): Array<JsonObjectProperty>;
        addDynamicPropertiesIntoObj(dest: any, src: any, props: Array<JsonObjectProperty>): void;
        private addDynamicPropertyIntoObj;
        getDynamicPropertiesByObj(obj: any, dynamicType?: string): Array<JsonObjectProperty>;
        getDynamicPropertiesByTypes(objType: string, dynamicType: string, invalidNames?: Array<string>): Array<JsonObjectProperty>;
        private canAddDybamicProp;
        hasOriginalProperty(obj: Base, propName: string): boolean;
        getOriginalProperty(obj: Base, propName: string): JsonObjectProperty;
        getProperty(className: string, propertyName: string): JsonObjectProperty;
        findProperty(className: string, propertyName: string): JsonObjectProperty;
        findProperties(className: string, propertyNames: Array<string>): Array<JsonObjectProperty>;
        getAllPropertiesByName(propertyName: string): Array<JsonObjectProperty>;
        getAllClasses(): Array<string>;
        createClass(name: string, json?: any): any;
        private createCustomType;
        getChildrenClasses(name: string, canBeCreated?: boolean): Array<JsonMetadataClass>;
        getRequiredProperties(name: string): Array<string>;
        addProperties(className: string, propertiesInfos: Array<IJsonPropertyInfo | string>): void;
        addProperty(className: string, propertyInfo: IJsonPropertyInfo | string): JsonObjectProperty;
        private addCustomPropertyCore;
        removeProperty(className: string, propertyName: string): boolean;
        private clearDynamicPropsCache;
        private removePropertyFromClass;
        private fillChildrenClasses;
        findClass(name: string): JsonMetadataClass;
        isDescendantOf(className: string, ancestorClassName: string): boolean;
        addAlterNativeClassName(name: string, alternativeName: string): void;
        generateSchema(className?: string): any;
        private generateLocStrClass;
        private generateSchemaProperties;
        private generateSchemaProperty;
        private getChemeRefName;
        private generateChemaClass;
        private getChoicesValues;
    }
    export class JsonError {
        type: string;
        message: string;
        description: string;
        at: number;
        end: number;
        jsonObj: any;
        element: Base;
        constructor(type: string, message: string);
        getFullDescription(): string;
    }
    export class JsonUnknownPropertyError extends JsonError {
        propertyName: string;
        className: string;
        constructor(propertyName: string, className: string);
    }
    export class JsonMissingTypeErrorBase extends JsonError {
        baseClassName: string;
        type: string;
        message: string;
        constructor(baseClassName: string, type: string, message: string);
    }
    export class JsonMissingTypeError extends JsonMissingTypeErrorBase {
        propertyName: string;
        baseClassName: string;
        constructor(propertyName: string, baseClassName: string);
    }
    export class JsonIncorrectTypeError extends JsonMissingTypeErrorBase {
        propertyName: string;
        baseClassName: string;
        constructor(propertyName: string, baseClassName: string);
    }
    export class JsonRequiredPropertyError extends JsonError {
        propertyName: string;
        className: string;
        constructor(propertyName: string, className: string);
    }
    export class JsonRequiredArrayPropertyError extends JsonError {
        propertyName: string;
        className: string;
        constructor(propertyName: string, className: string);
    }
    export class JsonIncorrectPropertyValueError extends JsonError {
        property: JsonObjectProperty;
        value: any;
        constructor(property: JsonObjectProperty, value: any);
    }
    export class JsonObject {
        private static typePropertyName;
        private static positionPropertyName;
        private static metaDataValue;
        static readonly metaData: JsonMetadata;
        errors: JsonError[];
        lightSerializing: boolean;
        options: ILoadFromJSONOptions;
        toJsonObject(obj: any, options?: ISaveToJSONOptions | boolean): any;
        toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
        toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
        private setPropertyValueToObj;
        toJsonObjectCore(obj: any, property: JsonObjectProperty, options?: ISaveToJSONOptions | boolean): any;
        private getDynamicProperties;
        private addDynamicProperties;
        private propertiesToJson;
        valueToJson(obj: any, result: any, prop: JsonObjectProperty, options?: ISaveToJSONOptions): void;
        private valueToJsonCore;
        valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
        private removePosOnValueToJson;
        private removePos;
        private removePosFromObj;
        private isValueArray;
        private createNewObj;
        private getClassNameForNewObj;
        private checkNewObjectOnErrors;
        private getRequiredError;
        private addNewError;
        private valueToArray;
        private addValuesIntoArray;
        private findProperty;
    }
    /**
     * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.
     * @see JsonMetadata
     */
    export var Serializer: JsonMetadata;
}
declare module "packages/survey-core/src/localizablestring" {
    import { EventBase } from "packages/survey-core/src/base";
    export interface ILocalizableOwner {
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getProcessedText(text: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
    }
    export interface ILocalizableString {
        getLocaleText(loc: string): string;
        setLocaleText(loc: string, newValue: string): any;
        getJson(): any;
        getLocales(): Array<string>;
        getIsMultiple(): boolean;
    }
    /**
     * The class represents the string that supports multi-languages and markdown.
     * It uses in all objects where support for multi-languages and markdown is required.
     */
    export class LocalizableString implements ILocalizableString {
        owner: ILocalizableOwner;
        useMarkdown: boolean;
        name?: string;
        static SerializeAsObject: boolean;
        static defaultLocale: string;
        static defaultRenderer: string;
        static editableRenderer: string;
        private values;
        private htmlValues;
        private renderedText;
        private calculatedTextValue;
        private _localizationName;
        localizationName: string;
        private _allowLineBreaks;
        readonly allowLineBreaks: boolean;
        onGetTextCallback: (str: string, nonProcessedText?: string) => string;
        storeDefaultText: boolean;
        serializeCallBackText: boolean;
        onGetLocalizationTextCallback: (str: string) => string;
        onStrChanged: (oldValue: string, newValue: string) => void;
        onSearchChanged: () => void;
        sharedData: LocalizableString;
        searchText: string;
        searchIndex: number;
        disableLocalization: boolean;
        defaultValue: string;
        constructor(owner: ILocalizableOwner, useMarkdown?: boolean, name?: string, locName?: string);
        getIsMultiple(): boolean;
        readonly locale: string;
        strChanged(): void;
        text: string;
        readonly calculatedText: string;
        private calcText;
        readonly pureText: string;
        private getRootDialect;
        private getLocalizationName;
        private getLocalizationStr;
        readonly hasHtml: boolean;
        readonly html: string;
        readonly isEmpty: boolean;
        readonly textOrHtml: string;
        readonly renderedHtml: string;
        getLocaleText(loc: string): string;
        private getLocaleTextCore;
        private isLocaleTextEqualsWithDefault;
        clear(): void;
        clearLocale(loc?: string): void;
        setLocaleText(loc: string, value: string): void;
        private isValueEmpty;
        private readonly curLocale: any;
        private canRemoveLocValue;
        private fireStrChanged;
        hasNonDefaultText(): boolean;
        getLocales(): Array<string>;
        getJson(): any;
        setJson(value: any, isLoading?: boolean): void;
        readonly renderAs: string;
        readonly renderAsData: any;
        equals(obj: any): boolean;
        private searchableText;
        setFindText(text: string): boolean;
        onChanged(): void;
        onStringChanged: EventBase<LocalizableString>;
        protected onCreating(): void;
        private hasHtmlValue;
        private setHtmlValue;
        getHtmlValue(): string;
        private deleteValuesEqualsToDefault;
        private getValue;
        private setValue;
        private deleteValue;
        private getValueLoc;
        private getValuesKeys;
        private readonly defaultLoc: any;
    }
    /**
     * The class represents the list of strings that supports multi-languages.
     */
    export class LocalizableStrings implements ILocalizableString {
        owner: ILocalizableOwner;
        private values;
        onValueChanged: (oldValue: any, newValue: any) => void;
        constructor(owner: ILocalizableOwner);
        getIsMultiple(): boolean;
        readonly locale: string;
        value: Array<string>;
        text: string;
        getLocaleText(loc: string): string;
        setLocaleText(loc: string, newValue: string): any;
        getValue(loc: string): Array<string>;
        private getValueCore;
        setValue(loc: string, val: Array<string>): void;
        hasValue(loc?: string): boolean;
        readonly isEmpty: boolean;
        private getLocale;
        getLocales(): Array<string>;
        getJson(): any;
        setJson(value: any): void;
        private getValuesKeys;
    }
}
declare module "packages/survey-core/src/base" {
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    import { HashTable } from "packages/survey-core/src/helpers";
    import { JsonObjectProperty } from "packages/survey-core/src/jsonobject";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions, ISaveToJSONOptions } from "packages/survey-core/src/base-interfaces";
    import { ExpressionRunner } from "packages/survey-core/src/conditions";
    export class Bindings {
        private obj;
        private properties;
        private values;
        constructor(obj: Base);
        getType(): string;
        getNames(): Array<string>;
        getProperties(): Array<JsonObjectProperty>;
        setBinding(propertyName: string, valueName: string): void;
        clearBinding(propertyName: string): void;
        isEmpty(): boolean;
        getValueNameByPropertyName(propertyName: string): string;
        getPropertiesByValueName(valueName: string): Array<string>;
        getJson(): any;
        setJson(value: any, isLoading?: boolean): void;
        private fillProperties;
        private onChangedJSON;
    }
    export class Dependencies {
        currentDependency: () => void;
        target: Base;
        property: string;
        private static DependenciesCount;
        constructor(currentDependency: () => void, target: Base, property: string);
        dependencies: Array<{
            obj: Base;
            prop: string;
            id: string;
        }>;
        id: string;
        addDependency(target: Base, property: string): void;
        dispose(): void;
    }
    export class ComputedUpdater<T = any> {
        private _updater;
        static readonly ComputedUpdaterType = "__dependency_computed";
        private dependencies;
        constructor(_updater: () => T);
        readonly type = "__dependency_computed";
        readonly updater: () => T;
        setDependencies(dependencies: Dependencies): void;
        protected getDependencies(): Dependencies;
        private clearDependencies;
        dispose(): any;
    }
    /**
     * A base class for all SurveyJS objects.
     */
    export class Base {
        private static currentDependencis;
        static finishCollectDependencies(): Dependencies;
        static startCollectDependencies(updater: () => void, target: Base, property: string): void;
        protected static collectDependency(target: Base, property: string): void;
        dependencies: {
            [key: string]: ComputedUpdater;
        };
        static commentSuffix: string;
        static commentPrefix: string;
        static createItemValue: (item: any, type?: string) => any;
        static itemValueLocStrChanged: (arr: Array<any>) => void;
        /**
         * Returns `true` if a passed `value` is an empty string, array, or object or if it equals to `undefined` or `null`.
         *
         * @param value A value to be checked.
         * @param trimString *(Optional)* When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.
         */
        isValueEmpty(value: any, trimString?: boolean): boolean;
        equals(obj: Base): boolean;
        protected equalsCore(obj: Base): boolean;
        protected trimValue(value: any): any;
        static createPropertiesHash(): {};
        private propertyHash;
        private localizableStrings;
        private arraysInfo;
        private eventList;
        private expressionInfo;
        private bindingsValue;
        private isDisposedValue;
        private classMetaData;
        private onPropChangeFunctions;
        protected isLoadingFromJsonValue: boolean;
        loadingOwner: Base;
        protected jsonObj: any;
        /**
         * An event that is raised when a property of this SurveyJS object has changed.
         *
         * Parameters:
         *
         * - `sender`: `this`\
         * A SurveyJS object whose property has changed.
         * - `options.name`: `string`\
         * The name of the changed property.
         * - `options.newValue`: `any`\
         * A new value for the property.
         * - `options.oldValue`: `any`\
         * An old value of the property. If the property is an array, `oldValue` contains the same array as `newValue` does.
         *
         * If you need to add and remove property change event handlers dynamically, use the [`registerPropertyChangedHandlers`](#registerPropertyChangedHandlers) and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods instead.
         */
        onPropertyChanged: EventBase<Base>;
        /**
         * An event that is raised when an [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue) property is changed.
         *
         * Parameters:
         *
         * - `sender`: `this`\
         * A SurveyJS object whose property contains an array of `ItemValue` objects.
         * - `options.obj`: [`ItemValue`](https://surveyjs.io/form-library/documentation/itemvalue)\
         * An `ItemValue` object.
         * - `options.propertyName`: `string`\
         * The name of the property to which an array of `ItemValue` objects is assigned (for example, `"choices"` or `"rows"`).
         * - `options.name`: `"text"` | `"value"`\
         * The name of the changed property.
         * - `options.newValue`: `any`\
         * A new value for the property.
         */
        onItemValuePropertyChanged: Event<(sender: Base, options: any) => any, Base, any>;
        getPropertyValueCoreHandler: (propertiesHash: any, name: string) => any;
        setPropertyValueCoreHandler: (propertiesHash: any, name: string, val: any) => void;
        createArrayCoreHandler: (propertiesHash: any, name: string) => Array<any>;
        surveyChangedCallback: () => void;
        private isCreating;
        constructor();
        dispose(): void;
        readonly isDisposed: boolean;
        protected addEvent<T, Options = any>(): EventBase<T, Options>;
        protected onBaseCreating(): void;
        /**
         * Returns the object type as it is used in the JSON schema.
         */
        getType(): string;
        /**
         * Use this method to find out if the current object is of a given `typeName` or inherited from it.
         *
         * @param typeName One of the values listed in the [getType()](https://surveyjs.io/form-library/documentation/question#getType) description.
         * @returns `true` if the current object is of a given `typeName` or inherited from it.
         * @see getType
         */
        isDescendantOf(typeName: string): boolean;
        getSurvey(isLive?: boolean): ISurvey;
        /*
        * Returns `true` if the survey is being designed in Survey Creator.
        */
        readonly isDesignMode: boolean;
        readonly isDesignModeV2: boolean;
        /*
        * Returns `true` if the object is included in a survey.
        *
        * This property may return `false`, for example, when you [create a survey model dynamically](https://surveyjs.io/form-library/documentation/design-survey-create-a-simple-survey#create-or-change-a-survey-model-dynamically).
        */
        readonly inSurvey: boolean;
        readonly bindings: Bindings;
        checkBindings(valueName: string, value: any): void;
        protected updateBindings(propertyName: string, value: any): void;
        protected updateBindingValue(valueName: string, value: any): void;
        getTemplate(): string;
        /*
        * Returns `true` if the object configuration is being loaded from JSON.
        */
        readonly isLoadingFromJson: boolean;
        protected getIsLoadingFromJson(): boolean;
        startLoadingFromJson(json?: any): void;
        endLoadingFromJson(): void;
        /**
         * Returns a JSON object that corresponds to the current SurveyJS object.
         * @see fromJSON
         */
        toJSON(options?: ISaveToJSONOptions): any;
        /**
         * Assigns a new configuration to the current SurveyJS object. This configuration is taken from a passed JSON object.
         *
         * The JSON object should contain only serializable properties of this SurveyJS object. Event handlers and properties that do not belong to the SurveyJS object are ignored.
         *
         * @param json A JSON object with properties that you want to apply to the current SurveyJS object.
         * @param options An object with configuration options.
         * @param {boolean} options.validatePropertyValues Pass `true` if you want to validate property values. Use the [`jsonErrors`](#jsonErrors) array to access validation errors.
         * @see toJSON
         */
        fromJSON(json: any, options?: ILoadFromJSONOptions): void;
        onSurveyLoad(): void;
        /**
         * Creates a new object that has the same type and properties as the current SurveyJS object.
         */
        clone(): Base;
        /**
         * Returns a `JsonObjectProperty` object with metadata about a serializable property that belongs to the current SurveyJS object.
         *
         * If the property is not found, this method returns `null`.
         * @param propName A property name.
         */
        getPropertyByName(propName: string): JsonObjectProperty;
        isPropertyVisible(propName: string): boolean;
        static createProgressInfo(): IProgressInfo;
        getProgressInfo(): IProgressInfo;
        localeChanged(): void;
        locStrsChanged(): void;
        /**
         * Returns the value of a property with a specified name.
         *
         * If the property is not found or does not have a value, this method returns either `undefined`, `defaultValue` specified in the property configuration, or a value passed as the `defaultValue` parameter.
         *
         * @param name A property name.
         * @param defaultValue *(Optional)* A value to return if the property is not found or does not have a value.
         */
        getPropertyValue(name: string, defaultValue?: any, calcFunc?: () => any): any;
        protected isValueUndefined(value: any): boolean;
        getDefaultPropertyValue(name: string): any;
        hasDefaultPropertyValue(name: string): boolean;
        resetPropertyValue(name: string): void;
        protected getPropertyValueWithoutDefault(name: string): any;
        protected getPropertyValueCore(propertiesHash: any, name: string): any;
        geValueFromHash(): any;
        protected setPropertyValueCore(propertiesHash: any, name: string, val: any): void;
        readonly isEditingSurveyElement: boolean;
        iteratePropertiesHash(func: (hash: any, key: string) => void): void;
        /**
         * Assigns a new value to a specified property.
         * @param name A property name.
         * @param val A new value for the property.
         */
        setPropertyValue(name: string, val: any): void;
        protected setArrayPropertyDirectly(name: string, val: any, sendNotification?: boolean): void;
        protected setPropertyValueDirectly(name: string, val: any): void;
        protected clearPropertyValue(name: string): void;
        onPropertyValueChangedCallback(name: string, oldValue: any, newValue: any, sender: Base, arrayChanges: ArrayChanges): void;
        itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
        protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
        protected propertyValueChanged(name: string, oldValue: any, newValue: any, arrayChanges?: ArrayChanges, target?: Base): void;
        onBindingChanged(oldValue: any, newValue: any): void;
        protected readonly isInternal: boolean;
        private doPropertyValueChangedCallback;
        addExpressionProperty(name: string, onExecute: (obj: Base, res: any) => void, canRun?: (obj: Base) => boolean): void;
        getDataFilteredValues(): any;
        getDataFilteredProperties(): any;
        protected runConditionCore(values: HashTable<any>, properties: HashTable<any>): void;
        protected canRunConditions(): boolean;
        private checkConditionPropertyChanged;
        private runConditionItemCore;
        private asynExpressionHash;
        private doBeforeAsynRun;
        private doAfterAsynRun;
        protected onAsyncRunningChanged(): void;
        readonly isAsyncExpressionRunning: boolean;
        protected createExpressionRunner(expression: string): ExpressionRunner;
        /**
         * Registers a single value change handler for one or multiple properties.
         *
         * The `registerPropertyChangedHandlers` and [`unregisterPropertyChangedHandlers`](#unregisterPropertyChangedHandlers) methods allow you to manage property change event handlers dynamically. If you only need to attach an event handler without removing it afterwards, you can use the [`onPropertyChanged`](#onPropertyChanged) event instead.
         * @param propertyNames An array of one or multiple property names.
         * @param handler A function to call when one of the listed properties change. Accepts a new property value as an argument.
         * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.
         * @see unregisterPropertyChangedHandlers
         */
        registerPropertyChangedHandlers(propertyNames: Array<string>, handler: any, key?: string): void;
        /**
         * Unregisters value change event handlers for the specified properties.
         * @param propertyNames An array of one or multiple property names.
         * @param key *(Optional)* A key of the registration that you want to cancel.
         * @see registerPropertyChangedHandlers
         */
        unregisterPropertyChangedHandlers(propertyNames: Array<string>, key?: string): void;
        registerFunctionOnPropertyValueChanged(name: string, func: any, key?: string): void;
        registerFunctionOnPropertiesValueChanged(names: Array<string>, func: any, key?: string): void;
        unRegisterFunctionOnPropertyValueChanged(name: string, key?: string): void;
        unRegisterFunctionOnPropertiesValueChanged(names: Array<string>, key?: string): void;
        createCustomLocalizableObj(name: string): LocalizableString;
        getLocale(): string;
        getLocalizationString(strName: string): string;
        getLocalizationFormatString(strName: string, ...args: any[]): string;
        protected createLocalizableString(name: string, owner: ILocalizableOwner, useMarkDown?: boolean, defaultStr?: boolean | string): LocalizableString;
        getLocalizableString(name: string): LocalizableString;
        getLocalizableStringText(name: string, defaultStr?: string): string;
        setLocalizableStringText(name: string, value: string): void;
        addUsedLocales(locales: Array<string>): void;
        searchText(text: string, founded: Array<IFindElement>): void;
        private getSearchableLocalizedStrings;
        protected getSearchableLocKeys(keys: Array<string>): void;
        protected getSearchableItemValueKeys(keys: Array<string>): void;
        protected AddLocStringToUsedLocales(locStr: LocalizableString, locales: Array<string>): void;
        protected createItemValues(name: string): Array<any>;
        private notifyArrayChanged;
        protected createNewArrayCore(name: string): Array<any>;
        protected ensureArray(name: string, onPush?: any, onRemove?: any): any[];
        protected createNewArray(name: string, onPush?: any, onRemove?: any): Array<any>;
        protected getItemValueType(): string;
        protected setArray(name: string, src: any[], dest: any[], isItemValues: boolean, onPush: any): void;
        protected isTwoValueEquals(x: any, y: any, caseInSensitive?: boolean, trimString?: boolean): boolean;
        private static copyObject;
        protected copyCssClasses(dest: any, source: any): void;
        private getValueInLowCase;
        getElementsInDesign(includeHidden?: boolean): Array<IElement>;
        readonly animationAllowed: boolean;
        protected getIsAnimationAllowed(): boolean;
        private animationAllowedLock;
        blockAnimations(): void;
        releaseAnimations(): void;
        supportOnElementRerenderedEvent: boolean;
        onElementRerenderedEventEnabled: boolean;
        enableOnElementRerenderedEvent(): void;
        disableOnElementRerenderedEvent(): void;
        protected _onElementRerendered: EventBase<Base>;
        readonly onElementRerendered: EventBase<Base>;
        afterRerender(): void;
    }
    export class ArrayChanges<T = any> {
        index: number;
        deleteCount: number;
        itemsToAdd: T[];
        deletedItems: T[];
        constructor(index: number, deleteCount: number, itemsToAdd: T[], deletedItems: T[]);
    }
    export class Event<CallbackFunction extends Function, Sender, Options> {
        onCallbacksChanged: () => void;
        protected callbacks: Array<CallbackFunction>;
        readonly isEmpty: boolean;
        readonly length: number;
        fireByCreatingOptions(sender: any, createOptions: () => Options): void;
        fire(sender: Sender, options: Options): void;
        clear(): void;
        add(func: CallbackFunction): void;
        remove(func: CallbackFunction): void;
        hasFunc(func: CallbackFunction): boolean;
        private fireCallbackChanged;
    }
    export class EventBase<Sender, Options = any> extends Event<(sender: Sender, options: Options) => any, Sender, Options> {
    }
}
declare module "packages/survey-core/src/utils/popup" {
    export type VerticalPosition = "top" | "bottom" | "middle";
    export type HorizontalPosition = "left" | "right" | "center";
    export type PositionMode = "flex" | "fixed";
    export interface IPosition {
        left?: number | string;
        top?: number | string;
    }
    export interface INumberPosition extends IPosition {
        left?: number;
        top?: number;
    }
    export interface ISize {
        width: number;
        height: number;
    }
    export class Rect implements ISize, INumberPosition {
        private x;
        private y;
        width: number;
        height: number;
        constructor(x: number, y: number, width: number, height: number);
        readonly left: number;
        readonly top: number;
        readonly right: number;
        readonly bottom: number;
    }
    export class PopupUtils {
        static bottomIndent: number;
        static calculatePosition(targetRect: Rect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, positionMode?: PositionMode): INumberPosition;
        static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition, canShrink?: boolean, margins?: {
            top: number;
            bottom: number;
        }): any;
        static updateHorizontalDimensions(left: number, width: number, windowWidth: number, horizontalPosition: HorizontalPosition, positionMode?: PositionMode, margins?: {
            left: number;
            right: number;
        }): {
            width: number;
            left: number;
        };
        static updateVerticalPosition(targetRect: Rect, height: number, horizontalPosition: HorizontalPosition, verticalPosition: VerticalPosition, windowHeight: number): VerticalPosition;
        static updateHorizontalPosition(targetRect: Rect, width: number, horizontalPosition: HorizontalPosition, windowWidth: number): HorizontalPosition;
        static calculatePopupDirection(verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition): string;
        static calculatePointerTarget(targetRect: Rect, top: number, left: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, marginLeft?: number, marginRight?: number): INumberPosition;
    }
}
declare module "packages/survey-core/src/popup" {
    import { Base, EventBase } from "packages/survey-core/src/base";
    import { IAction } from "packages/survey-core/src/actions/action";
    import { VerticalPosition, HorizontalPosition, PositionMode } from "packages/survey-core/src/utils/popup";
    export interface IPopupOptionsBase {
        onHide?: () => void;
        onShow?: () => void;
        onCancel?: () => void;
        onDispose?: () => void;
        getTargetCallback?: (container: HTMLElement) => HTMLElement;
        getAreaCallback?: (container: HTMLElement) => HTMLElement;
        cssClass?: string;
        title?: string;
        verticalPosition?: VerticalPosition;
        horizontalPosition?: HorizontalPosition;
        showPointer?: boolean;
        isModal?: boolean;
        canShrink?: boolean;
        displayMode?: "popup" | "overlay";
    }
    export interface IDialogOptions extends IPopupOptionsBase {
        componentName: string;
        data: any;
        onApply: () => boolean;
        isFocusedContent?: boolean;
    }
    export class PopupModel<T = any> extends Base implements IPopupOptionsBase {
        setWidthByTarget: boolean;
        focusFirstInputSelector: string;
        locale: string;
        onCancel: () => void;
        onApply: () => boolean;
        onHide: () => void;
        onShow: () => void;
        onDispose: () => void;
        getTargetCallback?: (container: HTMLElement) => HTMLElement;
        getAreaCallback?: (container: HTMLElement) => HTMLElement;
        contentComponentName: string;
        contentComponentData: T;
        verticalPosition: VerticalPosition;
        horizontalPosition: HorizontalPosition;
        showPointer: boolean;
        isModal: boolean;
        canShrink: boolean;
        isFocusedContent: boolean;
        isFocusedContainer: boolean;
        cssClass: string;
        title: string;
        overlayDisplayMode: "auto" | "tablet-dropdown-overlay" | "dropdown-overlay" | "plain";
        displayMode: "popup" | "overlay";
        positionMode: PositionMode;
        onVisibilityChanged: EventBase<PopupModel>;
        onFooterActionsCreated: EventBase<Base>;
        onRecalculatePosition: EventBase<Base>;
        private refreshInnerModel;
        constructor(contentComponentName: string, contentComponentData: T, option1?: IPopupOptionsBase | any, option2?: any);
        isVisible: boolean;
        toggleVisibility(): void;
        show(): void;
        hide(): void;
        recalculatePosition(isResetHeight: boolean): void;
        updateFooterActions(footerActions: Array<IAction>): Array<IAction>;
        updateDisplayMode(menuType: "dropdown" | "popup" | "overlay"): void;
        onHiding(): void;
        dispose(): void;
    }
    export function createDialogOptions(componentName: string, data: any, onApply: () => boolean, onCancel?: () => void, onHide?: () => void, onShow?: () => void, cssClass?: string, title?: string, displayMode?: "popup" | "overlay"): IDialogOptions;
}
declare module "packages/survey-core/src/settings" {
    import { IDialogOptions } from "packages/survey-core/src/popup";
    import { IConfirmDialogOptions } from "packages/survey-core/src/utils/utils";
    export type ISurveyEnvironment = {
        root: Document | ShadowRoot;
        rootElement: HTMLElement | ShadowRoot;
        popupMountContainer: HTMLElement | string;
        /**
         * @deprecated
         */
        svgMountContainer: HTMLElement | string;
        stylesSheetsMountContainer: HTMLElement;
    };
    /**
     * Global settings that apply to all surveys on the page. To specify one of the settings, use the code below:
     *
     * ```js
     * import { settings } from "survey-core";
     *
     * settings.settingName = "value";
     * ```
     */
    export var settings: {
        version: string;
        /**
         * An object that configures survey appearance when the survey is being designed in Survey Creator.
         *
         * Nested properties:
         *
         * - `showEmptyDescriptions`: `boolean`\
         * Specifies whether to display an empty description for pages and panels. Default value: `true`.
         *
         * - `showEmptyTitles`: `boolean`\
         * Specifies whether to display an empty title for pages and panels. Default value: `true`.
         */
        designMode: {
            showEmptyDescriptions: boolean;
            showEmptyTitles: boolean;
        };
        allowShowEmptyDescriptionInDesignMode: boolean;
        allowShowEmptyTitleInDesignMode: boolean;
        /**
         * An object that contains properties related to localization.
         *
         * Nested properties:
         *
         * - `useLocalTimeZone`: `boolean`\
         * Disable this property if you want internal SurveyJS functions to use methods that work with UTC date and time (`setUTCDate()` `setUTCHours()`, etc.) instead of methods that work with local date and time (`setYear()`, `setHours()`, etc.). Default value: `true`.
         *
         * - `defaultLocaleName`: `string`\
         * A property key that stores a translation for the default locale. Default value: `"default"`.
         *
         * - `storeDuplicatedTranslations`: `boolean`\
         * Specifies whether surveys should store translation strings that equal the translation strings in the default locale. Default value: `false`.
         */
        localization: {
            useLocalTimeZone: boolean;
            storeDuplicatedTranslations: boolean;
            defaultLocaleName: string;
        };
        useLocalTimeZone: boolean;
        storeDuplicatedTranslations: boolean;
        defaultLocaleName: string;
        /**
         * An object with properties that configure surveys when they work with a web service.
         *
         * Nested properties:
         *
         * - `encodeUrlParams`: `boolean`\
         * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.
         *
         * - `cacheLoadedChoices`: `boolean`\
         * Specifies whether to cache [choices loaded from a web service](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl). Default value: `true`.
         *
         * - `disableQuestionWhileLoadingChoices`: `boolean`\
         * Disables a question while its choices are being loaded from a web service. Default value: `false`.
         *
         * - `surveyServiceUrl`: `string`\
         * The URL of the SurveyJS Service API endpoint.
         *
         * - `onBeforeRequestChoices`: `(sender: ChoicesRestful, options: { request: XMLHttpRequest })`\
         * An event that is raised before a request for choices is send. Applies to questions with a specified [`choiceByUrl`](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl) property. Use the `options.request` parameter to access and modify the `XMLHttpRequest` object. For instance, you can add authentication headers to it:
         *
         *     ```js
         *     import { settings } from "survey-core";
         *
         *     settings.web.onBeforeSendRequest = (sender, options) => {
         *       options.request.setRequestHeader('RequestVerificationToken', requestVerificationToken);
         *     };
         *     ```
         */
        web: {
            onBeforeRequestChoices: (sender: any, options: {
                request: XMLHttpRequest;
            }) => void;
            encodeUrlParams: boolean;
            cacheLoadedChoices: boolean;
            disableQuestionWhileLoadingChoices: boolean;
            surveyServiceUrl: string;
        };
        webserviceEncodeParameters: boolean;
        useCachingForChoicesRestful: boolean;
        useCachingForChoicesRestfull: boolean;
        disableOnGettingChoicesFromWeb: boolean;
        surveyServiceUrl: string;
        /**
         * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).
         *
         * Nested properties:
         *
         * - `changeNavigationButtonsOnComplete`: `boolean`\
         * Specifies whether to re-evaluate an expression associated with the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `false`.\
         * Keep this property set to `false` if you want to re-evaluate the Complete trigger's expression only when the respondents navigate to another page.
         *
         * - `executeCompleteOnValueChanged`: `boolean`\
         * Specifies whether to replace the Next button with the Complete button when the [Complete trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#complete) is going to be executed. Default value: `true`.
         *
         * - `executeSkipOnValueChanged`: `boolean`\
         * Specifies whether to re-evaluate an expression associated with the [Skip trigger](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#skip) immediately when a question value changes. If the expression evaluates to `true`, the trigger is executed. Default value: `true`.\
         * Disable this property if you want to re-evaluate the Skip trigger's expression only when respondents navigate to another page.
         */
        triggers: {
            changeNavigationButtonsOnComplete: boolean;
            executeCompleteOnValueChanged: boolean;
            executeSkipOnValueChanged: boolean;
        };
        executeCompleteTriggerOnValueChanged: boolean;
        changeNavigationButtonsOnCompleteTrigger: boolean;
        executeSkipTriggerOnValueChanged: boolean;
        /**
         * An object that contains properties related to JSON serialization.
         *
         * Nested properties:
         *
         * - `itemValueSerializeAsObject`: `boolean`\
         * Enable this property if you want to serialize [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) instances (choice options, matrix rows, columns in a [Single-Select Matrix](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model)) as objects even when they include only the `value` property. Default value: `false`.
         *
         * - `itemValueSerializeDisplayText`: `boolean`\
         * Enable this property if you want to serialize the `text` property of [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) objects even when it is empty or equal to the `value` property. Default value: `false`.
         *
         * - `localizableStringSerializeAsObject`: `boolean`\
         * Enable this property if you want to serialize [`LocalizableString`](https://surveyjs.io/form-library/documentation/api-reference/localizablestring) instances as objects even when they include only a translation string for the default locale. For example, `"Custom String"` will be serialized as `{ default: "Custom String" }`. Default value: `false`.
         *
         * - `matrixDropdownColumnSerializeTitle`: `boolean`\
         * Enable this property if you want to serialize the `title` property of [`MatrixDropdownColumn`](https://surveyjs.io/form-library/documentation/api-reference/multi-select-matrix-column-values) objects even when it is empty or equal to the `name` property. Default value: `false`.
         * @see [settings.parseNumber](https://surveyjs.io/form-library/documentation/api-reference/settings#parseNumber)
         */
        serialization: {
            itemValueSerializeAsObject: boolean;
            itemValueSerializeDisplayText: boolean;
            localizableStringSerializeAsObject: boolean;
            matrixDropdownColumnSerializeTitle: boolean;
        };
        itemValueAlwaysSerializeAsObject: boolean;
        itemValueAlwaysSerializeText: boolean;
        serializeLocalizableStringAsObject: boolean;
        /**
         * An object that configures lazy rendering.
         *
         * Nested properties:
         *
         * - `enabled`: `boolean`\
         * Specifies whether to add questions to the DOM only when they get into the viewport. Default value: `false`.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/survey-lazy/ (linkStyle))
         * @see [SurveyModel.lazyRendering](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#lazyRendering)
         */
        lazyRender: {
            enabled: boolean;
            firstBatchSize: number;
        };
        lazyRowsRendering: boolean;
        lazyRowsRenderingStartRow: number;
        /**
         * An object with properties that apply to [Single-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-question-model), [Multiple-Choice](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list), and [Dynamic Matrix](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model) questions.
         *
         * Nested properties:
         *
         * - `defaultRowName`: `string`\
         * A property key that stores an object with default cell values. Default value: "default".
         *
         * - `defaultCellType`: `string`\
         * The default type of matrix cells. Default value: `"dropdown"`.\
         * You can specify this setting for individual questions or matrix columns: [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#cellType). Refer to the `cellType` property description for information on possible values.
         *
         * - `totalsSuffix`: `string`\
         * A suffix added to the name of the property that stores total values. The resulting property name consists of the matrix name and the suffix. Default value: `"-total"`.
         *
         * - `maxRowCount`: `number`\
         * A maximum number of rows in a Dynamic Matrix. Default value: 1000.\
         * You can specify this setting for an individual Dynamic Matrix: [`maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-matrix-table-question-model#maxRowCount).
         *
         * - `maxRowCountInCondition`: `number`\
         * A maximum number of matrix rows included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\
         * If you set this property to 0, the Condition menu does not include any matrix rows. Users still can specify conditions that use matrix rows but only with Manual Entry.
         *
         * - `renderRemoveAsIcon`: `boolean`\
         * Disable this property if you want to render the Remove action in Dynamic Matrix as a button. Otherwise, the action is rendered as an icon. Default value: `true`.
         *
         * - `columnWidthsByType`: `object`\
         * An object that specifies fixed and minimum column width based on the column type.\
         * Example: `settings.matrix.columnWidthsByType = { "tagbox": { minWidth: "240px", width: "300px" } }`
         *
         * - `rateSize`: `"small"` (default) | `"normal"`\
         * Specifies the size of rate values. Applies to [Rating Scale](https://surveyjs.io/form-library/examples/rating-scale/) questions within matrixes.
         */
        matrix: {
            defaultCellType: string;
            defaultRowName: string;
            totalsSuffix: string;
            maxRowCount: number;
            maxRowCountInCondition: number;
            renderRemoveAsIcon: boolean;
            columnWidthsByType: {
                [index: string]: {
                    minWidth?: string;
                    width?: string;
                };
            };
            rateSize: "small" | "normal";
        };
        matrixDefaultRowName: string;
        matrixDefaultCellType: string;
        matrixTotalValuePostFix: string;
        matrixMaximumRowCount: number;
        matrixMaxRowCountInCondition: number;
        matrixRenderRemoveAsIcon: boolean;
        /**
         * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.
         *
         * Nested properties:
         *
         * - `maxPanelCount`: `number`\
         * A maximum number of panels in Dynamic Panel. Default value: 100.\
         * You can specify this setting for an individual Dynamic Panel: [`maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#maxPanelCount).
         *
         * - `maxPanelCountInCondition`: `number`\
         * A maximum number of Dynamic Panel panels included in the Condition drop-down menu in Survey Creator. This menu is used to configure conditional survey logic. Default value: 1.\
         * If you set this property to 0, the Condition menu does not include any panel questions. Users still can specify conditions that use panel questions but only with Manual Entry.
         */
        panel: {
            maxPanelCount: number;
            maxPanelCountInCondition: number;
        };
        panelDynamicMaxPanelCountInCondition: number;
        panelMaximumPanelCount: number;
        /**
         * An object with properties that configure questions in read-only mode.
         *
         * Nested properties:
         *
         * - `commentRenderMode`: `"textarea"` (default) | `"div"`\
         * Specifies how to render the input field of [Comment](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/comment-field-model#readOnly) mode: as a disabled `<textarea>` element or as a `<div>` element with a non-editable question value within it.
         *
         * - `textRenderMode`: `"input"` (default) | `"div"`\
         * Specifies how to render the input field of [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) questions in [read-only](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#readOnly) mode: as a disabled `<input>` element or as a `<div>` element with a non-editable question value within it.
         */
        readOnly: {
            enableValidation: boolean;
            commentRenderMode: string;
            textRenderMode: string;
        };
        readOnlyCommentRenderMode: string;
        readOnlyTextRenderMode: string;
        /**
         * An object with properties that configure question numbering.
         *
         * Nested properties:
         *
         * - `includeQuestionsWithHiddenNumber`: `boolean`\
         * Specifies whether to number questions whose [`hideNumber`](https://surveyjs.io/form-library/documentation/api-reference/question#hideNumber) property is enabled. Default value: `false`.
         *
         * - `includeQuestionsWithHiddenTitle`: `boolean`\
         * Specifies whether to number questions whose [`titleLocation`](https://surveyjs.io/form-library/documentation/api-reference/question#titleLocation) property is set to `"hidden"`. Default value: `false`.
         */
        numbering: {
            includeQuestionsWithHiddenNumber: boolean;
            includeQuestionsWithHiddenTitle: boolean;
        };
        setQuestionVisibleIndexForHiddenTitle: boolean;
        setQuestionVisibleIndexForHiddenNumber: boolean;
        /**
         * Specifies an action to perform when users press the Enter key within a survey.
         *
         * Possible values:
         *
         * - `"moveToNextEditor"` - Moves focus to the next editor.
         * - `"loseFocus"` - Removes focus from the current editor.
         * - `"default"` - Behaves as a standard `<input>` element.
         */
        enterKeyAction: "default" | "moveToNextEditor" | "loseFocus";
        /**
         * An object that configures string comparison.
         *
         * Nested properties:
         *
         * - `trimStrings`: `boolean`\
         * Specifies whether to remove whitespace from both ends of a string before the comparison. Default value: `true`.
         *
         * - `caseSensitive`: `boolean`\
         * Specifies whether to differentiate between capital and lower-case letters. Default value: `false`.
         */
        comparator: {
            trimStrings: boolean;
            caseSensitive: boolean;
            normalizeTextCallback: (str: string, reason: string) => string;
        };
        expressionDisableConversionChar: string;
        commentPrefix: string;
        /**
         * A suffix added to the name of the property that stores comments.
         *
         * Default value: "-Comment"
         *
         * You can specify this setting for an individual survey: [`commentSuffix`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#commentSuffix).
         */
        commentSuffix: string;
        /**
         * A separator used in a shorthand notation that specifies a value and display text for an [`ItemValue`](https://surveyjs.io/form-library/documentation/api-reference/itemvalue) object: `"value|text"`.
         *
         * Default value: `"|"`
         * @see [settings.choicesSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#choicesSeparator)
         */
        itemValueSeparator: string;
        /**
         * A maximum number of rate values in a [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) question.
         *
         * Default value: 20
         */
        ratingMaximumRateValueCount: number;
        /**
         * Specifies whether to close the drop-down menu of a [Multi-Select Dropdown (Tag Box)](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) question after a user selects a value.
         *
         * This setting applies to all Multi-Select Dropdown questions on a web page. You can use the [`closeOnSelect`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model#closeOnSelect) property to specify the same setting for an individual Multi-Select Dropdown question.
         */
        tagboxCloseOnSelect: boolean;
        /**
         * A time interval in milliseconds between the last entered character and the beginning of search in [Single-](https://surveyjs.io/form-library/examples/create-dropdown-menu-in-javascript/) and [Multi-Select Dropdown](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/) questions. Applies only to questions with the [`choicesLazyLoadEnabled`](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model#choicesLazyLoadEnabled) property set to `true`.
         *
         * Default value: 500
         *
         * [View Demo](https://surveyjs.io/form-library/examples/lazy-loading-dropdown/ (linkStyle))
         */
        dropdownSearchDelay: number;
        /**
         * A function that activates a browser confirm dialog.
         *
         * Use the following code to execute this function:
         *
         * ```js
         * import { settings } from "survey-core";
         *
         * // `result` contains `true` if the action was confirmed or `false` otherwise
         * const result = settings.confirmActionFunc("Are you sure?");
         * ```
         *
         * You can redefine the `confirmActionFunc` function if you want to display a custom dialog window. Your function should return `true` if a user confirms an action or `false` otherwise.
         * @param message A message to be displayed in the confirm dialog window.
         */
        confirmActionFunc: (message: string) => boolean;
        /**
         * A function that activates a proprietary SurveyJS confirm dialog.
         *
         * Use the following code to execute this function:
         *
         * ```js
         * import { settings } from "survey-core";
         *
         * settings.confirmActionAsync("Are you sure?", (confirmed) => {
         *   if (confirmed) {
         *     // ...
         *     // Proceed with the action
         *     // ...
         *   } else {
         *     // ...
         *     // Cancel the action
         *     // ...
         *   }
         * });
         * ```
         *
         * You can redefine the `confirmActionAsync` function if you want to display a custom dialog window. Your function should return `true` to be enabled; otherwise, a survey executes the [`confirmActionFunc`](#confirmActionFunc) function. Pass the dialog result as the `callback` parameter: `true` if a user confirms an action, `false` otherwise.
         * @param message A message to be displayed in the confirm dialog window.
         * @param callback A callback function that should be called with `true` if a user confirms an action or `false` otherwise.
         */
        confirmActionAsync: (message: string, callback: (res: boolean) => void, options?: IConfirmDialogOptions) => boolean;
        /**
         * A minimum width value for all survey elements.
         *
         * Default value: `"300px"`
         *
         * You can override this setting for individual elements: [`minWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#minWidth).
         */
        minWidth: string;
        /**
         * A maximum width value for all survey elements.
         *
         * Default value: `"100%"`
         *
         * You can override this setting for individual elements: [`maxWidth`](https://surveyjs.io/form-library/documentation/api-reference/surveyelement#maxWidth).
         */
        maxWidth: string;
        /**
         * Specifies how many times surveys can re-evaluate expressions when a question value changes. This limit helps avoid recursions in expressions.
         *
         * Default value: 10
         */
        maxConditionRunCountOnValueChanged: number;
        /**
         * An object that configures notifications.
         *
         * Nested properties:
         *
         * - `lifetime`: `number`\
         * Specifies a time period during which a notification is displayed; measured in milliseconds. Default value: 2000.
         */
        notifications: {
            lifetime: number;
        };
        /**
         * Specifies how many milliseconds a survey should wait before it automatically switches to the next page. Applies only when [auto-advance](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#goNextPageAutomatic) is enabled.
         *
         * Default value: 300
         */
        autoAdvanceDelay: number;
        /**
         * Specifies the direction in which to lay out Checkbox and Radiogroup items. This setting affects the resulting UI when items are arranged in [more than one column](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#colCount).
         *
         * Possible values:
         *
         * - `"row"` (default) - Items fill the current row, then move on to the next row.
         * - `"column"` - Items fill the current column, then move on to the next column.
         */
        showItemsInOrder: string;
        /**
         * A value to save in survey results when respondents select the "None" choice item.
         *
         * Default value: `"none"`
         */
        noneItemValue: string;
        /**
         * A value to save in survey results when respondents select the "Refuse to answer" choice item.
         *
         * Default value: `"refused"`
         */
        refuseItemValue: string;
        /**
         * A value to save in survey results when respondents select the "Don't know" choice item.
         *
         * Default value: `"dontknow"`
         */
        dontKnowItemValue: string;
        /**
         * An object whose properties specify the order of the special choice items ("None", "Other", "Select All", "Refuse to answer", "Don't know") in select-based questions.
         *
         * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2], dontKnowItem: [3], otherItem: [4] }`
         *
         * Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other.
         *
         * ```js
         * import { settings } from "survey-core";
         *
         * settings.specialChoicesOrder.noneItem = [-2];
         * settings.specialChoicesOrder.selectAllItem = [-1];
         * settings.specialChoicesOrder.otherItem = [1];
         * ```
         *
         * If you want to duplicate a special choice item above and below other choices, add two numbers to the corresponding array:
         *
         * ```js
         * settings.specialChoicesOrder.selectAllItem = [-1, 3] // Displays Select All above and below other choices
         * ```
         */
        specialChoicesOrder: {
            selectAllItem: number[];
            noneItem: number[];
            refuseItem: number[];
            dontKnowItem: number[];
            otherItem: number[];
        };
        /**
         * One or several characters used to separate choice options in a list.
         *
         * Default value: `", "`
         * @see [settings.itemValueSeparator](https://surveyjs.io/form-library/documentation/api-reference/settings#itemValueSeparator)
         */
        choicesSeparator: string;
        /**
         * A list of supported validators by question type.
         */
        supportedValidators: {
            question: string[];
            comment: string[];
            text: string[];
            checkbox: string[];
            imagepicker: string[];
        };
        /**
         * Specifies a minimum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `"date"` or `"datetime-local"`. Set this property to a string with the folllowing format: `"yyyy-mm-dd"`.
         */
        minDate: string;
        /**
         * Specifies a maximum date that users can enter into a [Text](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model) question with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `"date"` or `"datetime-local"`. Set this property to a string with the folllowing format: `"yyyy-mm-dd"`.
         */
        maxDate: string;
        showModal: (componentName: string, data: any, onApply: () => boolean, onCancel?: () => void, cssClass?: string, title?: string, displayMode?: "popup" | "overlay") => any;
        showDialog: (options: IDialogOptions, rootElement?: HTMLElement) => any;
        supportCreatorV2: boolean;
        showDefaultItemsInCreatorV2: boolean;
        /**
         * An object that specifies icon replacements. Object keys are built-in icon names. To use a custom icon, assign its name to the key of the icon you want to replace:
         *
         * ```js
         * import { settings } from "survey-core";
         *
         * settings.customIcons["icon-redo"] = "custom-redo-icon";
         * ```
         *
         * For more information about icons in SurveyJS, refer to the following help topic: [UI Icons](https://surveyjs.io/form-library/documentation/icons).
         */
        customIcons: {};
        /**
         * Specifies which part of a choice item responds to a drag gesture in Ranking questions.
         *
         * Possible values:
         *
         * - `"entireItem"` (default) - Users can use the entire choice item as a drag handle.
         * - `"icon"` - Users can only use the choice item icon as a drag handle.
         */
        rankingDragHandleArea: string;
        environment: ISurveyEnvironment;
        /**
         * Allows you to hide the maximum length indicator in text input questions.
         *
         * If you specify a question's [`maxLength`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maxLength) property or a survey's [`maxTextLength`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#maxTextLength) property, text input questions indicate the number of entered characters and the character limit. Assign `false` to the `settings.showMaxLengthIndicator` property if you want to hide this indicator.
         *
         * Default value: `true`
         */
        showMaxLengthIndicator: boolean;
        /**
         * Specifies whether to animate survey elements.
         *
         * Default value: `true`
        */
        animationEnabled: boolean;
        /**
         * An object that specifies heading levels (`<h1>`, `<h2>`, etc.) to use when rendering survey, page, panel, and question titles.
         *
         * Default value: `{ survey: "h3", page: "h4", panel: "h4", question: "h5" }`
         *
         * If you want to modify heading levels for individual titles, handle `SurveyModel`'s [`onGetTitleTagName`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onGetTitleTagName) event.
         */
        titleTags: {
            survey: string;
            page: string;
            panel: string;
            question: string;
        };
        questions: {
            inputTypes: string[];
            dataList: string[];
        };
        legacyProgressBarView: boolean;
        /**
         * An object with properties that configure input masks.
         *
         * Nested properties:
         *
         * - `patternPlaceholderChar`: `string`\
         * A symbol used as a placeholder for characters to be entered in [pattern masks](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern). Default value: `"_"`.
         *
         * - `patternEscapeChar`: `string`\
         * A symbol used to insert literal representations of special characters in [pattern masks](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern). Default value: `"\\"`.
         *
         * - `patternDefinitions`: `<{ [key: string]: RegExp }>`\
         * An object that maps placeholder symbols to regular expressions in [pattern masks](https://surveyjs.io/form-library/documentation/api-reference/inputmaskpattern). Default value: `{ "9": /[0-9]/, "a": /[a-zA-Z]/, "#": /[a-zA-Z0-9]/ }`.
         */
        maskSettings: {
            patternPlaceholderChar: string;
            patternEscapeChar: string;
            patternDefinitions: {
                [key: string]: RegExp;
            };
        };
        /**
         * Specifies whether to store date-time values in the following format: `"YYYY-MM-DDThh:mm:ss.sssZ"`. Applies only to form fields with [`inputType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#inputType) set to `"datetime-local"`.
         *
         * Default value: `false`
         *
         * If you enable this setting, date-time values are converted from local time to UTC when they are saved to the survey's [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) object, while the question values remain in local time. Therefore, when you specify default values using a question's [`defaultValue`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#defaultValue) property, you need to use local time, but if you specify them using the `data` object, use a UTC date-time value in the following format: `"YYYY-MM-DDThh:mm:ss.sssZ"`.
         *
         * ```js
         * const surveyJson = {
         *   "elements": [{
         *     "name": "datetime",
         *     "type": "text",
         *     "title": "Select a date and time",
         *     "inputType": "datetime-local",
         *     "defaultValue": "2024-07-16T12:15:00" // Local date-time value
         *   }]
         * }
         * ```
         *
         * ```js
         * import { Model } from "survey-core";
         * const surveyJson = { ... }
         * const survey = new Model(surveyJson);
         *
         * survey.data = {
         *   datetime: "2024-07-16T12:15:00.000Z" // UTC date-time value
         * }
         * ```
         */
        storeUtcDates: boolean;
        onDateCreated: (newDate: Date, reason: string, val?: number | string | Date) => Date;
        /**
         * A function that allows you to define custom parsing rules for numbers represented as string values.
         *
         * The following code shows a template that you can use to implement the `parseNumber` function:
         *
         * ```js
         * import { settings } from "survey-core";
         *
         * settings.parseNumber = (stringValue, numericValue) => {
         *   if (typeof stringValue !== "string" || !stringValue)
         *     return numericValue;
         *   let parsedNumber = numericValue;
         *   // ...
         *   // Parsing the number according to custom parsing rules
         *   // ...
         *   return parsedNumber;
         * };
         * ```
         * @param stringValue A number represented as a string value.
         * @param numericValue A number parsed using a default parsing function. `NaN` if the original string is not a number.
         * @returns A number that results from parsing the string value.
         * @see [settings.serialization](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization)
         */
        parseNumber: (stringValue: any, numericValue: number) => number;
    };
}
declare module "packages/survey-core/src/question_matrixdropdown" {
    import { QuestionMatrixDropdownModelBase, MatrixDropdownRowModelBase, IMatrixDropdownData } from "packages/survey-core/src/question_matrixdropdownbase";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { IProgressInfo } from "packages/survey-core/src/base-interfaces";
    export class MatrixDropdownRowModel extends MatrixDropdownRowModelBase {
        name: string;
        private item;
        constructor(name: string, item: ItemValue, data: IMatrixDropdownData, value: any);
        readonly rowName: string;
        readonly text: string;
        readonly locText: LocalizableString;
        protected isItemVisible(): boolean;
        isRowEnabled(): boolean;
        protected isRowHasEnabledCondition(): boolean;
        protected setRowsVisibleIfValues(values: any): void;
    }
    /**
      * A class that describes the Multi-Select Matrix question type. Multi-Select Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/ (linkStyle))
     */
    export class QuestionMatrixDropdownModel extends QuestionMatrixDropdownModelBase implements IMatrixDropdownData {
        constructor(name: string);
        getType(): string;
        /*
        * A title for the total row. Applies if at least one column displays total values.
        * @see rowTitleWidth
        * @see columns
        */
        totalText: string;
        readonly locTotalText: LocalizableString;
        getFooterText(): LocalizableString;
        getRowTitleWidth(): string;
        /*
        * Specifies whether to hide the question when the matrix has no visible rows.
        * @see rowsVisibleIf
        */
        hideIfRowsEmpty: boolean;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        protected getConditionObjectRowName(index: number): string;
        protected getConditionObjectRowText(index: number): string;
        protected getConditionObjectsRowIndeces(): Array<number>;
        protected isNewValueCorrect(val: any): boolean;
        clearIncorrectValues(): void;
        private getRowByKey;
        private defaultValuesInRows;
        protected clearGeneratedRows(): void;
        private getRowValueForCreation;
        protected generateRows(): Array<MatrixDropdownRowModel>;
        protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
        protected getFilteredDataCore(): any;
        protected getSearchableItemValueKeys(keys: Array<string>): void;
        protected getIsRequireToGenerateRows(): boolean;
        protected updateProgressInfoByValues(res: IProgressInfo): void;
    }
}
declare module "packages/survey-core/src/popup-dropdown-view-model" {
    import { IPosition, Rect } from "packages/survey-core/src/utils/popup";
    import { CssClassBuilder } from "packages/survey-core/src/utils/cssClassBuilder";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { PopupBaseViewModel } from "packages/survey-core/src/popup-view-model";
    export function calculateIsTablet(windowWidth?: number, windowHeight?: number): boolean;
    export class PopupDropdownViewModel extends PopupBaseViewModel {
        static readonly tabletSizeBreakpoint = 600;
        private scrollEventCallBack;
        private calculateIsTablet;
        private resizeEventCallback;
        private resizeWindowCallback;
        private clientY;
        private isTablet;
        private touchStartEventCallback;
        private touchMoveEventCallback;
        protected getAvailableAreaRect(): Rect;
        protected getTargetElementRect(): Rect;
        private _updatePosition;
        protected getActualHorizontalPosition(): "left" | "center" | "right";
        protected getStyleClass(): CssClassBuilder;
        protected getShowHeader(): boolean;
        protected getPopupHeaderTemplate(): string;
        popupDirection: string;
        pointerTarget: IPosition;
        private recalculatePositionHandler;
        constructor(model: PopupModel);
        setComponentElement(componentRoot: HTMLElement): void;
        resetComponentElement(): void;
        updateOnShowing(): void;
        private readonly shouldCreateResizeCallback: any;
        updatePosition(isResetHeight: boolean, isDelayUpdating?: boolean): void;
        updateOnHiding(): void;
        protected onModelChanging(newModel: PopupModel): void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/dropdownListModel" {
    import { IAction } from "packages/survey-core/src/actions/action";
    import { Base } from "packages/survey-core/src/base";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { ListModel } from "packages/survey-core/src/list";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { Question } from "packages/survey-core/src/question";
    export class DropdownListModel extends Base {
        protected question: Question;
        protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
        readonly minPageSize = 25;
        readonly loadingItemHeight = 40;
        timer: any;
        private htmlCleanerElement;
        private _markdownMode;
        private _popupModel;
        private filteredItems;
        focused: boolean;
        private readonly focusFirstInputSelector: any;
        protected readonly selectedItemSelector = ".sv-list__item--selected";
        protected readonly itemSelector = ".sv-list__item";
        protected getFocusFirstInputSelector(): string;
        private itemsSettings;
        protected listModel: ListModel<ItemValue>;
        protected listModelFilterStringChanged: (newValue: string) => void;
        private resetItemsSettings;
        private setItems;
        private loadQuestionChoices;
        private updateQuestionChoices;
        private resetTimer;
        private updatePopupFocusFirstInputSelector;
        private getDropdownMenuOptions;
        protected createPopup(): void;
        private setFilterStringToListModel;
        private setTextWrapEnabled;
        protected popupRecalculatePosition(isResetHeight: boolean): void;
        protected onHidePopup(): void;
        protected getAvailableItems(): Array<ItemValue>;
        protected setOnTextSearchCallbackForListModel(listModel: ListModel<ItemValue>): void;
        protected createListModel(): ListModel<ItemValue>;
        protected updateAfterListModelCreated(model: ListModel<ItemValue>): void;
        protected getPopupCssClasses(): string;
        updateCssClasses(popupCssClass: string, listCssClasses: any): void;
        protected resetFilterString(): void;
        clear(): void;
        protected onSetFilterString(): void;
        readonly isAllDataLoaded: boolean;
        readonly canShowSelectedItem: boolean;
        searchEnabled: boolean;
        filterString: string;
        inputString: string;
        showInputFieldComponent: boolean;
        ariaActivedescendant: string;
        private applyInputString;
        private cleanHtml;
        protected fixInputCase(): void;
        protected applyHintString(): void;
        inputStringRendered: string;
        inputPlaceholder: string;
        readonly placeholderRendered: string;
        readonly listElementId: string;
        hasScroll: boolean;
        hintString: string;
        private readonly hintStringLC: any;
        private readonly inputStringLC: any;
        readonly showHintPrefix: boolean;
        readonly hintStringPrefix: string;
        readonly showHintString: boolean;
        readonly hintStringSuffix: string;
        readonly hintStringMiddle: string;
        private questionPropertyChangedHandler;
        constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
        readonly popupModel: PopupModel;
        readonly noTabIndex: boolean;
        readonly filterReadOnly: boolean;
        readonly filterStringEnabled: boolean;
        readonly inputMode: "none" | "text";
        setSearchEnabled(newValue: boolean): void;
        setChoicesLazyLoadEnabled(newValue: boolean): void;
        setInputPlaceholder(newValue: string): void;
        updateItems(): void;
        onClick(event: any): void;
        chevronPointerDown(event: any): void;
        protected onPropertyChangedHandler(sender: any, options: any): void;
        protected focusItemOnClickAndPopup(): void;
        onClear(event: any): void;
        getSelectedAction(): ItemValue;
        changeSelectionWithKeyboard(reverse: boolean): void;
        protected beforeScrollToFocusedItem(focusedItem: ItemValue): void;
        protected afterScrollToFocusedItem(): void;
        keyHandler(event: any): void;
        protected onEscape(): void;
        onScroll(event: Event): void;
        onBlur(event: any): void;
        onFocus(event: any): void;
        setInputStringFromSelectedItem(newValue: any): void;
        dispose(): void;
        scrollToFocusedItem(): void;
    }
}
declare module "packages/survey-core/src/question_dropdown" {
    import { QuestionSelectBase } from "packages/survey-core/src/question_baseselect";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { EventBase } from "packages/survey-core/src/base";
    import { DropdownListModel } from "packages/survey-core/src/dropdownListModel";
    /**
     * A class that describes the Dropdown question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdown/ (linkStyle))
     */
    export class QuestionDropdownModel extends QuestionSelectBase {
        dropdownListModelValue: DropdownListModel;
        lastSelectedItemValue: ItemValue;
        constructor(name: string);
        locStrsChanged(): void;
        private updateReadOnlyText;
        private updateInputPlaceholder;
        showOptionsCaption: boolean;
        readonly showClearButton: boolean;
        optionsCaption: string;
        /*
        * A placeholder for the input field.
        */
        placeholder: string;
        readonly locPlaceholder: LocalizableString;
        clearCaption: string;
        readonly locClearCaption: LocalizableString;
        getType(): string;
        readonly ariaRole: string;
        readonly selectedItem: ItemValue;
        protected onGetSingleSelectedItem(selectedItemByValue: ItemValue): void;
        supportGoNextPageAutomatic(): boolean;
        private minMaxChoices;
        protected getChoices(): Array<ItemValue>;
        /*
        * Use the `choicesMin`, `choicesMax`, and `choicesStep` properties to generate choice items automatically. For example, the configuration below generates three choice items: [10, 20, 30].
        *
        * ```js
        * "choicesMin": 10,
        * "choicesMax": 30
        * "choicesStep": 10
        * ```
        * @see choicesMax
        * @see choicesStep
        */
        choicesMin: number;
        /*
        * Use the `choicesMin`, `choicesMax`, and `choicesStep` properties to generate choice items automatically. For example, the configuration below generates three choice items: [10, 20, 30].
        *
        * ```js
        * "choicesMin": 10,
        * "choicesMax": 30
        * "choicesStep": 10
        * ```
        * @see choicesMin
        * @see choicesStep
        */
        choicesMax: number;
        /*
        * Use the `choicesMin`, `choicesMax`, and `choicesStep` properties to generate choice items automatically. For example, the configuration below generates three choice items: [10, 20, 30].
        *
        * ```js
        * "choicesMin": 10,
        * "choicesMax": 30
        * "choicesStep": 10
        * ```
        *
        * The default value of the `choicesStep` property is 1.
        * @see choicesMin
        * @see choicesMax
        */
        choicesStep: number;
        autocomplete: string;
        /**
         * Specifies whether to display a button that clears the selected value.
         */
        allowClear: boolean;
        /**
         * Specifies whether users can enter a value into the input field to filter the drop-down list.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/create-dropdown-menu-in-javascript/ (linkStyle))
         * @see searchMode
         * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
         */
        searchEnabled: boolean;
        /**
         * Specifies a comparison operation used to filter the drop-down list. Applies only if [`searchEnabled`](#searchEnabled) is `true`.
         *
         * Possible values:
         *
         * - `"contains"` (default)
         * - `"startsWith"`
         * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
         */
        searchMode: "contains" | "startsWith";
        /**
         * Specifies whether to wrap long texts in choice options onto a new line.
         *
         * Default value: `true`
         *
         * Disable this property if you want the texts to be truncated with ellipsis.
         */
        textWrapEnabled: boolean;
        inputHasValue: boolean;
        readOnlyText: string;
        readonly locReadOnlyText: LocalizableString;
        protected calculateReadOnlyText(): string;
        /**
         * Enables lazy loading. If you set this property to `true`, you should implement the Survey's [`onChoicesLazyLoad`](https://surveyjs.io/form-library/documentation/surveymodel#onChoicesLazyLoad) event handler.
         * @see choicesLazyLoadPageSize
         * @see SurveyModel.onChoicesLazyLoad
         */
        choicesLazyLoadEnabled: boolean;
        /**
         * Specifies the number of choice items to load at a time when choices are loaded on demand.
         * @see choicesLazyLoadEnabled
         * @see SurveyModel.onChoicesLazyLoad
         */
        choicesLazyLoadPageSize: number;
        getControlClass(): string;
        protected updateCssClasses(res: any, css: any): void;
        protected calcCssClasses(css: any): any;
        suggestedItem: ItemValue;
        readonly selectedItemLocText: LocalizableString;
        readonly inputFieldComponentName: string;
        readonly showSelectedItemLocText: boolean;
        readonly showInputFieldComponent: boolean;
        private readonly selectedItemText: any;
        private readonly useDropdownList: any;
        dropdownListModel: DropdownListModel;
        readonly popupModel: PopupModel;
        onOpened: EventBase<QuestionDropdownModel>;
        onOpenedCallBack(): void;
        protected onSelectedItemValuesChangedHandler(newValue: any): void;
        protected hasUnknownValue(val: any, includeOther: boolean, isFilteredChoices: boolean, checkEmptyValue: boolean): boolean;
        protected needConvertRenderedOtherToDataValue(): boolean;
        protected getItemIfChoicesNotContainThisValue(value: any, text?: string): any;
        protected onVisibleChoicesChanged(): void;
        protected getFirstInputElementId(): string;
        getInputId(): string;
        clearValue(keepComment?: boolean): void;
        afterRenderCore(el: any): void;
        onClick(e: any): void;
        onKeyUp(event: any): void;
        protected supportEmptyValidation(): boolean;
        protected onBlurCore(event: any): void;
        protected onFocusCore(event: any): void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/question_matrix" {
    import { HashTable } from "packages/survey-core/src/helpers";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { QuestionMatrixBaseModel } from "packages/survey-core/src/martixBase";
    import { Base } from "packages/survey-core/src/base";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    import { LocalizableString, ILocalizableOwner } from "packages/survey-core/src/localizablestring";
    import { IConditionObject, IQuestionPlainData } from "packages/survey-core/src/question";
    import { IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
    import { ConditionRunner } from "packages/survey-core/src/conditions";
    export interface IMatrixData {
        onMatrixRowChanged(row: MatrixRowModel): void;
        getCorrectedRowValue(value: any): any;
        cssClasses: any;
        isDisabledStyle: boolean;
        isInputReadOnly: boolean;
        isDisabledAttr: boolean;
        isReadOnlyAttr: boolean;
        hasErrorInRow(row: MatrixRowModel): boolean;
    }
    export class MatrixRowModel extends Base {
        item: ItemValue;
        fullName: string;
        private data;
        cellClick: any;
        constructor(item: ItemValue, fullName: string, data: IMatrixData, value: any);
        readonly name: string;
        readonly text: string;
        readonly locText: LocalizableString;
        value: any;
        setValueDirectly(val: any): void;
        readonly isReadOnly: boolean;
        readonly isReadOnlyAttr: boolean;
        readonly isDisabledAttr: boolean;
        readonly rowTextClasses: string;
        hasError: boolean;
        readonly rowClasses: string;
    }
    export interface IMatrixCellsOwner extends ILocalizableOwner {
        getRows(): Array<any>;
        getColumns(): Array<any>;
    }
    export class MatrixCells extends Base {
        cellsOwner: IMatrixCellsOwner;
        private values;
        private locs;
        constructor(cellsOwner: IMatrixCellsOwner);
        getType(): string;
        readonly isEmpty: boolean;
        onValuesChanged: () => void;
        private locNotification;
        private valuesChanged;
        getDefaultCellLocText(column: any): LocalizableString;
        getCellDisplayLocText(row: any, column: any): LocalizableString;
        private getCellLocCore;
        private readonly defaultRowValue: any;
        private getCellLocData;
        private getCellLocDataFromValue;
        getCellText(row: any, column: any): string;
        setCellText(row: any, column: any, val: string): void;
        private updateValues;
        getDefaultCellText(column: any): string;
        setDefaultCellText(column: any, val: string): void;
        getCellDisplayText(row: any, column: any): string;
        readonly rows: Array<any>;
        readonly columns: Array<any>;
        private getCellRowColumnValue;
        getJson(): any;
        setJson(value: any, isLoading?: boolean): void;
        locStrsChanged(): void;
        private runFuncOnLocs;
        protected createString(): LocalizableString;
    }
    /**
      * A class that describes the Single-Select Matrix question type.
      *
      * [View Demo](https://surveyjs.io/form-library/examples/single-selection-matrix-table-question/ (linkStyle))
      */
    export class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixRowModel, ItemValue> implements IMatrixData, IMatrixCellsOwner {
        private isRowChanging;
        private cellsValue;
        constructor(name: string);
        getType(): string;
        /*
        * The name of a component used to render cells.
        */
        readonly cellComponent: string;
        itemComponent: string;
        readonly hasSingleInput: boolean;
        /*
        * Specifies whether each row requires an answer. If a respondent skips a row, the question displays a validation error.
        * @see isRequired
        * @see eachRowUnique
        * @see validators
        */
        isAllRowRequired: boolean;
        /*
        * Specifies whether answers in all rows should be unique. If any answers duplicate, the question displays a validation error.
        * @see isAllRowRequired
        * @see validators
        */
        eachRowUnique: boolean;
        readonly hasRows: boolean;
        /*
        * Specifies a sort order for matrix rows.
        *
        * Possible values:
        *
        * - `"initial"` (default) - Preserves the original order of the `rows` array.
        * - `"random"` - Arranges matrix rows in random order each time the question is displayed.
        * @see rows
        */
        rowsOrder: string;
        /*
        * Specifies whether to hide the question when the matrix has no visible rows.
        * @see rowsVisibleIf
        */
        hideIfRowsEmpty: boolean;
        getRows(): Array<any>;
        getColumns(): Array<any>;
        addColumn(value: any, text?: string): ItemValue;
        getItemClass(row: any, column: any): string;
        readonly itemSvgIcon: string;
        locStrsChanged(): void;
        protected getQuizQuestionCount(): number;
        protected getCorrectAnswerCount(): number;
        runCondition(values: HashTable<any>, properties: HashTable<any>): void;
        protected createRowsVisibleIfRunner(): ConditionRunner;
        protected onRowsChanged(): void;
        protected getVisibleRows(): Array<MatrixRowModel>;
        protected sortVisibleRows(array: Array<MatrixRowModel>): Array<MatrixRowModel>;
        endLoadingFromJson(): void;
        protected isNewValueCorrect(val: any): boolean;
        protected processRowsOnSet(newRows: Array<any>): MatrixRowModel[];
        readonly visibleRows: Array<MatrixRowModel>;
        /*
        * An array of matrix cells. Use this array to get or set cell values.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/questiontype-matrix-rubric/ (linkStyle))
        */
        cells: MatrixCells;
        readonly hasCellText: boolean;
        protected updateHasCellText(): void;
        setCellText(row: any, column: any, val: string): void;
        getCellText(row: any, column: any): string;
        setDefaultCellText(column: any, val: string): void;
        getDefaultCellText(column: any): string;
        getCellDisplayText(row: any, column: any): string;
        private emptyLocalizableString;
        getCellDisplayLocText(row: any, column: any): LocalizableString;
        supportGoNextPageAutomatic(): boolean;
        private errorsInRow;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        private hasValuesInAllRows;
        private checkErrorsAllRows;
        private addErrorIntoRow;
        private refreshRowsErrors;
        protected getIsAnswered(): boolean;
        private createMatrixRow;
        protected onMatrixRowCreated(row: MatrixRowModel): void;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
        addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
        getConditionJson(operator?: string, path?: string): any;
        clearIncorrectValues(): void;
        protected clearValueIfInvisibleCore(reason: string): void;
        protected clearInvisibleColumnValues(): void;
        protected clearInvisibleValuesInRows(): void;
        protected clearInvisibleValuesInRowsAndColumns(inRows: boolean, inColumns: boolean, inCorrectRows: boolean): void;
        private getVisibleColumnByValue;
        protected getFirstInputElementId(): string;
        onMatrixRowChanged(row: MatrixRowModel): void;
        getCorrectedRowValue(value: any): any;
        hasErrorInRow(row: MatrixRowModel): boolean;
        protected getSearchableItemValueKeys(keys: Array<string>): void;
        private readonly SurveyModel: any;
        getColumnHeaderWrapperComponentName(cell: ItemValue): string;
        getColumnHeaderWrapperComponentData(cell: ItemValue): any;
        getRowHeaderWrapperComponentName(cell: ItemValue): string;
        getRowHeaderWrapperComponentData(cell: ItemValue): any;
    }
}
declare module "packages/survey-core/src/flowpanel" {
    import { IElement } from "packages/survey-core/src/base-interfaces";
    import { PanelModel } from "packages/survey-core/src/panel";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { Question } from "packages/survey-core/src/question";
    /**
     * The flow panel object. It is a container with flow layout where you can mix questions with markdown text.
     *
     */
    export class FlowPanelModel extends PanelModel {
        static contentElementNamePrefix: string;
        contentChangedCallback: () => void;
        onGetHtmlForQuestion: (question: Question) => string;
        onCustomHtmlProducing: () => string;
        constructor(name?: string);
        getType(): string;
        getChildrenLayoutType(): string;
        onSurveyLoad(): any;
        content: string;
        readonly locContent: LocalizableString;
        html: string;
        protected onContentChanged(): any;
        produceHtml(): string;
        getQuestionFromText(str: string): Question;
        protected getHtmlForQuestion(question: Question): string;
        protected getQuestionHtmlId(question: Question): string;
        protected onAddElement(element: IElement, index: number): void;
        protected onRemoveElement(element: IElement): void;
        dragDropMoveElement(src: IElement, target: IElement, targetIndex: number): void;
        private addElementToContent;
        private insertTextAtCursor;
        getElementContentText(element: IElement): string;
    }
}
declare module "packages/survey-core/src/template-renderer" {
    export interface SurveyTemplateRendererTemplateData {
        name: string;
        data: any;
        nodes?: HTMLElement[];
        afterRender: (el: HTMLElement, context: any) => void;
    }
    export interface SurveyTemplateRendererViewModel {
        componentData: any;
        templateData: SurveyTemplateRendererTemplateData;
    }
}
declare module "packages/survey-core/src/defaultTitle" {
    export class DefaultTitleModel {
        static getIconCss(cssClasses: any, isCollapsed: boolean): string;
    }
}
declare module "packages/survey-core/src/questionnonvalue" {
    import { Question, IConditionObject } from "packages/survey-core/src/question";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    /**
     * A base class for question types that cannot have a value ([Html](https://surveyjs.io/form-library/documentation/questionhtmlmodel), [Image](https://surveyjs.io/form-library/documentation/questionimagemodel)).
     *
     * This class does not implement new functionality&mdash;it only redefines default values of certain properties inherited from the [`Question`](https://surveyjs.io/form-library/documentation/question) class.
     */
    export class QuestionNonValue extends Question {
        constructor(name: string);
        getType(): string;
        readonly hasInput: boolean;
        readonly hasTitle: boolean;
        getTitleLocation(): string;
        readonly hasComment: boolean;
        hasErrors(fireCallback?: boolean, rec?: any): boolean;
        getAllErrors(): Array<SurveyError>;
        supportGoNextPageAutomatic(): boolean;
        addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
        getConditionJson(operator?: string, path?: string): any;
        readonly ariaRole: string;
        readonly ariaRequired: any;
    }
}
declare module "packages/survey-core/src/question_empty" {
    import { Question } from "packages/survey-core/src/question";
    /**
     * A Model for an question that renders empty "div" tag. It used as a base class for some custom widgets
     */
    export class QuestionEmptyModel extends Question {
        constructor(name: string);
        getType(): string;
    }
}
declare module "packages/survey-core/src/question_checkbox" {
    import { QuestionCheckboxBase } from "packages/survey-core/src/question_baseselect";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { IQuestion } from "packages/survey-core/src/base-interfaces";
    import { SurveyError } from "packages/survey-core/src/survey-error";
    /**
     * A class that describes the Checkboxes question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-checkbox/ (linkStyle))
     */
    export class QuestionCheckboxModel extends QuestionCheckboxBase {
        private selectAllItemValue;
        protected selectAllItemText: LocalizableString;
        private invisibleOldValues;
        protected defaultSelectedItemValues: Array<ItemValue>;
        constructor(name: string);
        protected getDefaultItemComponent(): string;
        getType(): string;
        protected onCreating(): void;
        protected getFirstInputElementId(): string;
        /*
        * Specifies a property name used to store selected values.
        *
        * Set this property if you want to store selected values in an array of objects instead of an array of primitive values. For example, if you set `valuePropertyName` to `"car"`, the `value` property will contain an array of objects `[{ car: "Ford" }, { car: "Tesla" }]`, not an array of string values `[ "Ford", "Tesla" ]`.
        */
        valuePropertyName: string;
        getQuestionFromArray(name: string, index: number): IQuestion;
        protected getDependedQuestionsByValueName(isDependOn: boolean): Array<IQuestion>;
        /*
        * Returns the "Select All" choice item. Use this property to change the item's `value` or `text`.
        * @see showSelectAllItem
        */
        readonly selectAllItem: ItemValue;
        /*
        * Gets or sets a caption for the "Select All" choice item.
        * @see showSelectAllItem
        */
        selectAllText: string;
        readonly locSelectAllText: LocalizableString;
        /*
        * Enable this property to display a "Select All" item. When users select it, all other choice items, except "Other" and "None", also become selected.
        * @see selectAll
        * @see isAllSelected
        * @see separateSpecialChoices
        */
        showSelectAllItem: boolean;
        hasSelectAll: boolean;
        /*
        * Returns `true` if all choice items, except "Other" and "None", are selected.
        * @see showSelectAllItem
        */
        isAllSelected: boolean;
        toggleSelectAll(): void;
        protected allElementsSelected(): boolean;
        private isNoneItemsSelected;
        /**
         * Selects all choice items, except "Other" and "None".
         *
         * To clear selection, call the `clearValue()` method.
         * @see clearValue
         */
        selectAll(): void;
        clickItemHandler(item: ItemValue, checked?: boolean): void;
        protected isItemSelectedCore(item: ItemValue): boolean;
        protected hasUnknownValueItem(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
        protected convertFuncValuetoQuestionValue(val: any): any;
        private getRealValue;
        readonly isValueArray: boolean;
        /*
        * Specifies the maximum number of selected choices.
        *
        * Default value: 0 (unlimited)
        *
        * > This property only limits the number of choice items that can be selected by users. You can select any number of choice items in code, regardless of the `maxSelectedChoices` value.
        * @see minSelectedChoices
        */
        maxSelectedChoices: number;
        /*
        * Specifies the minimum number of selected choices.
        *
        * Default value: 0 (unlimited)
        *
        * > This property only limits the number of choice items that can be selected by users. You can select any number of choice items in code, regardless of the `minSelectedChoices` value.
        * @see maxSelectedChoices
        */
        minSelectedChoices: number;
        /*
        * An array of selected choice items. Includes the "Other" and "None" choice items if they are selected, but not "Select All". Items are sorted in the order they were selected.
        * @see visibleChoices
        * @see enabledChoices
        */
        readonly selectedChoices: Array<ItemValue>;
        readonly selectedItems: Array<ItemValue>;
        readonly hasFilteredValue: boolean;
        getFilteredName(): any;
        getFilteredValue(): any;
        protected getMultipleSelectedItems(): Array<ItemValue>;
        protected validateItemValues(itemValues: Array<ItemValue>): Array<ItemValue>;
        protected getAnswerCorrectIgnoreOrder(): boolean;
        protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
        protected onVisibleChoicesChanged(): void;
        protected onEnableItemCallBack(item: ItemValue): boolean;
        protected onAfterRunItemsEnableCondition(): void;
        private updateSelectAllItemProps;
        private getSelectAllEnabled;
        private getVisibleEnableItems;
        private shouldCheckMaxSelectedChoices;
        private checkMinSelectedChoicesUnreached;
        protected getItemClassCore(item: any, options: any): string;
        updateValueFromSurvey(newValue: any, clearData: boolean): void;
        protected setDefaultValue(): void;
        private addIntoInvisibleOldValues;
        protected hasValueToClearIncorrectValues(): boolean;
        protected setNewValue(newValue: any): void;
        protected getIsMultipleValue(): boolean;
        protected getCommentFromValue(newValue: any): string;
        getStoreOthersAsComment(): boolean;
        protected setOtherValueIntoValue(newValue: any): any;
        private getFirstUnknownIndex;
        protected removeNoneItemsValues(value: Array<any>, newValue: Array<any>): void;
        private noneIndexInArray;
        protected canUseFilteredChoices(): boolean;
        protected supportSelectAll(): boolean;
        protected addNonChoicesItems(dict: Array<{
            index: number;
            item: ItemValue;
        }>, isAddAll: boolean): void;
        protected isBuiltInChoice(item: ItemValue): boolean;
        isItemInList(item: ItemValue): boolean;
        protected getDisplayValueEmpty(): string;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        protected clearIncorrectValuesCore(): void;
        protected clearDisabledValuesCore(): void;
        private isChangingValueOnClearIncorrect;
        private clearIncorrectAndDisabledValues;
        private restoreValuesFromInvisible;
        getConditionJson(operator?: string, path?: string): any;
        isAnswerCorrect(): boolean;
        protected setDefaultValueWithOthers(): void;
        protected getIsItemValue(val: any, item: ItemValue): boolean;
        protected valueFromData(val: any): any;
        protected rendredValueFromData(val: any): any;
        protected rendredValueToData(val: any): any;
        protected convertValueFromObject(val: any): any;
        protected convertValueToObject(val: any): any;
        protected renderedValueFromDataCore(val: any): any;
        protected rendredValueToDataCore(val: any): any;
        protected selectOtherValueFromComment(val: boolean): void;
        readonly checkBoxSvgPath: string;
        readonly isNewA11yStructure: boolean;
        readonly a11y_input_ariaRole: string;
        readonly a11y_input_ariaRequired: "true" | "false";
    }
}
declare module "packages/survey-core/src/multiSelectListModel" {
    import { Action, BaseAction, IAction } from "packages/survey-core/src/actions/action";
    import { IListModel, ListModel } from "packages/survey-core/src/list";
    export interface IMultiSelectListModel extends IListModel {
        selectedItems?: Array<IAction>;
    }
    export class MultiSelectListModel<T extends BaseAction = Action> extends ListModel<T> {
        selectedItems: Array<IAction>;
        hideSelectedItems: boolean;
        private updateItemState;
        constructor(options: IMultiSelectListModel);
        onItemClick: (item: T) => void;
        isItemDisabled: (itemValue: T) => boolean;
        isItemSelected: (itemValue: T) => boolean;
        updateState(): void;
        setSelectedItems(newItems: Array<IAction>): void;
        selectFocusedItem(): void;
    }
}
declare module "packages/survey-core/src/dropdownMultiSelectListModel" {
    import { IAction } from "packages/survey-core/src/actions/action";
    import { DropdownListModel } from "packages/survey-core/src/dropdownListModel";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { MultiSelectListModel } from "packages/survey-core/src/multiSelectListModel";
    import { Question } from "packages/survey-core/src/question";
    export class DropdownMultiSelectListModel extends DropdownListModel {
        filterStringPlaceholder: string;
        closeOnSelect: boolean;
        locStrsChanged(): void;
        private updateListState;
        private syncFilterStringPlaceholder;
        private getSelectedActions;
        protected getFocusFirstInputSelector(): string;
        protected getPopupCssClasses(): string;
        protected createListModel(): MultiSelectListModel<ItemValue>;
        protected resetFilterString(): void;
        previousValue: any;
        doneButtonCaption: string;
        private readonly shouldResetAfterCancel: any;
        protected createPopup(): void;
        selectAllItems(): void;
        selectNoneItem(): void;
        selectItem(id: string): void;
        deselectItem(id: string): void;
        clear(): void;
        onClear(event: any): void;
        setHideSelectedItems(newValue: boolean): void;
        removeLastSelectedItem(): void;
        constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
        inputKeyHandler(event: any): void;
        setInputStringFromSelectedItem(newValue: any): void;
        protected focusItemOnClickAndPopup(): void;
        protected onEscape(): void;
        protected beforeScrollToFocusedItem(focusedItem: ItemValue): void;
        protected afterScrollToFocusedItem(): void;
        protected onPropertyChangedHandler(sender: any, options: any): void;
    }
}
declare module "packages/survey-core/src/question_tagbox" {
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { QuestionCheckboxModel } from "packages/survey-core/src/question_checkbox";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { DropdownMultiSelectListModel } from "packages/survey-core/src/dropdownMultiSelectListModel";
    import { EventBase } from "packages/survey-core/src/base";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    /**
     * A class that describes the Multi-Select Dropdown (Tag Box) question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/how-to-create-multiselect-tag-box/ (linkStyle))
     */
    export class QuestionTagboxModel extends QuestionCheckboxModel {
        private dropdownListModelValue;
        private itemDisplayNameMap;
        private deselectAllItemText;
        constructor(name: string);
        locStrsChanged(): void;
        private updateReadOnlyText;
        protected getDefaultItemComponent(): string;
        dropdownListModel: DropdownMultiSelectListModel;
        /**
         * Specifies a comparison operation used to filter the drop-down list. Applies only if [`searchEnabled`](#searchEnabled) is `true`.
         *
         * Possible values:
         *
         * - `"contains"` (default)
         * - `"startsWith"`
         * @see [SurveyModel.onChoicesSearch](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onChoicesSearch)
         */
        searchMode: "contains" | "startsWith";
        /**
         * Specifies whether to display a button that clears the selected value.
         */
        allowClear: boolean;
        /**
         * Specifies whether users can enter a value into the input field to filter the drop-down list.
         */
        searchEnabled: boolean;
        /**
         * Specifies whether to remove selected items from the drop-down list.
         */
        hideSelectedItems: boolean;
        /**
         * Enables lazy loading. If you set this property to `true`, you should implement the Survey's [`onChoicesLazyLoad`](https://surveyjs.io/form-library/documentation/surveymodel#onChoicesLazyLoad) event handler.
         * @see choicesLazyLoadPageSize
         * @see SurveyModel.onChoicesLazyLoad
         */
        choicesLazyLoadEnabled: boolean;
        /**
         * Specifies the number of choice items to load at a time when choices are loaded on demand.
         * @see choicesLazyLoadEnabled
         * @see SurveyModel.onChoicesLazyLoad
         */
        choicesLazyLoadPageSize: number;
        /**
         * Specifies whether to close the drop-down menu after a user selects a value.
         */
        closeOnSelect: number;
        textWrapEnabled: boolean;
        /*
        * A text displayed in the input field when it doesn't have a value.
        */
        placeholder: string;
        readonly locPlaceholder: LocalizableString;
        clearCaption: string;
        readonly locClearCaption: LocalizableString;
        readOnlyText: string;
        readonly locReadOnlyText: LocalizableString;
        getType(): string;
        readonly ariaRole: string;
        readonly popupModel: PopupModel;
        getControlClass(): string;
        protected updateCssClasses(res: any, css: any): void;
        protected calcCssClasses(css: any): any;
        onOpened: EventBase<QuestionTagboxModel>;
        onOpenedCallBack(): void;
        protected hasUnknownValue(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
        protected needConvertRenderedOtherToDataValue(): boolean;
        protected onVisibleChoicesChanged(): void;
        protected getItemIfChoicesNotContainThisValue(value: any, text?: string): any;
        protected validateItemValues(itemValues: Array<ItemValue>): Array<ItemValue>;
        updateItemDisplayNameMap(): void;
        protected getFirstInputElementId(): string;
        getInputId(): string;
        protected supportEmptyValidation(): boolean;
        protected onBlurCore(event: any): void;
        protected onFocusCore(event: any): void;
        protected allElementsSelected(): boolean;
        updateSelectAllItemText(isAllSelected: boolean): void;
        dispose(): void;
        clearValue(keepComment?: boolean): void;
        readonly showClearButton: boolean;
        readonly isNewA11yStructure: boolean;
    }
}
declare module "packages/survey-core/src/question_imagepicker" {
    import { QuestionCheckboxBase } from "packages/survey-core/src/question_baseselect";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
    export class ImageItemValue extends ItemValue implements ILocalizableOwner {
        protected typeName: string;
        private videoNotLoaded;
        private imageNotLoaded;
        constructor(value: any, text?: string, typeName?: string);
        getType(): string;
        /*
        * The image or video link property.
        */
        imageLink: string;
        private aspectRatio;
        readonly locImageLink: LocalizableString;
        getLocale(): string;
        getMarkdownHtml(text: string, name: string): string;
        getRenderer(name: string): string;
        getRendererContext(locStr: LocalizableString): any;
        getProcessedText(text: string): string;
        onErrorHandler(): void;
        contentNotLoaded: boolean;
    }
    /**
      * A class that describes the Image Picker question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/image-picker-question/ (linkStyle))
     */
    export class QuestionImagePickerModel extends QuestionCheckboxBase {
        constructor(name: string);
        getType(): string;
        supportGoNextPageAutomatic(): boolean;
        readonly hasSingleInput: boolean;
        protected getItemValueType(): string;
        readonly isCompositeQuestion: boolean;
        supportOther(): boolean;
        supportNone(): boolean;
        supportRefuse(): boolean;
        supportDontKnow(): boolean;
        isAnswerCorrect(): boolean;
        /*
        * Specifies whether users can select multiple images or videos.
        *
        * Default value: `false`
        */
        multiSelect: boolean;
        isItemSelected(item: ItemValue): boolean;
        getItemEnabled(item: ItemValue): boolean;
        clearIncorrectValues(): void;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        /*
        * Specifies whether to display labels under images or videos. Labels text are taken from the `text` property of each object in the `choices` array.
        * @see choices
        */
        showLabel: boolean;
        endLoadingFromJson(): void;
        protected getValueCore(): any;
        private convertValToArrayForMultSelect;
        protected renderedValueFromDataCore(val: any): any;
        protected rendredValueToDataCore(val: any): any;
        /*
        * Specifies the height of containers for images or videos. Accepts positive numbers and CSS values.
        *
        * Default value: `auto`
        *
        * This property allows you to specify the exact image height. If you do not set it, the height will be calculated automatically based on the [`minImageHeight`](#minImageHeight) and [`maxImageHeight`](#maxImageHeight) values and available screen height.
        *
        * Use the [`imageFit`](#imageFit) property to specify how to fit the images or videos into their containers.
        * @see imageWidth
        */
        imageHeight: number;
        readonly imageScale: number;
        private responsiveImageHeight;
        readonly renderedImageHeight: number;
        /*
        * Specifies the width of containers for images or videos. Accepts positive numbers and CSS values.
        *
        * Default value: `auto`
        *
        * This property allows you to specify the exact image width. If you do not set it, the width will be calculated automatically based on the [`minImageWidth`](#minImageWidth) and [`maxImageWidth`](#maxImageWidth) values and available screen width.
        *
        * Use the [`imageFit`](#imageFit) property to specify how to fit the images or videos into their containers.
        * @see imageHeight
        */
        imageWidth: number;
        private responsiveImageWidth;
        readonly renderedImageWidth: number;
        /*
        * Specifies how to resize images or videos to fit them into their containers.
        *
        * Refer to the [`object-fit`](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property description for information on accepted values.
        * @see imageHeight
        * @see imageWidth
        */
        imageFit: string;
        /*
        * Specifies the type of content that choice items display.
        *
        * Possible values:
        *
        * - `"image"` (default) - Images in one of the following formats: JPEG, GIF, PNG, APNG, SVG, BMP, ICO.
        * - `"video"` - Videos in one of the following formats: MP4, MOV, WMV, FLV, AVI, MKV.
        */
        contentMode: string;
        protected convertDefaultValue(val: any): any;
        readonly inputType: "checkbox" | "radio";
        protected isBuiltInChoice(item: ItemValue): boolean;
        protected addToVisibleChoices(items: Array<ItemValue>, isAddAll: boolean): void;
        getSelectBaseRootCss(): string;
        private isResponsiveValue;
        /**
         * Specifies a maximum width for image or video containers. Accepts positive numbers and CSS values.
         *
         * Default value: 400
         *
         * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
         */
        maxImageWidth: number;
        /**
         * Specifies a minimum width for image or video containers. Accepts positive numbers and CSS values.
         *
         * Default value: 200
         *
         * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
         */
        minImageWidth: number;
        /**
         * Specifies a maximum height for image or video containers. Accepts positive numbers and CSS values.
         *
         * Default value: 266
         *
         * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
         */
        maxImageHeight: number;
        /**
         * Specifies a minimum height for image or video containers. Accepts positive numbers and CSS values.
         *
         * Default value: 133
         *
         * The `minImageWidth`, `maxImageWidth`, `minImageHeight`, and `maxImageHeight` properties specify boundary values for container sizes. The resulting sizes are selected depending on the available screen space. If you want to specify the exact width and height, use the [`imageWidth`](#imageWidth) and [`imageHeight`](#imageHeight) properties.
         */
        minImageHeight: number;
        private readonly isResponsive: any;
        private readonly exactSizesAreEmpty: any;
        private calcIsResponsive;
        protected getObservedElementSelector(): string;
        protected supportResponsiveness(): boolean;
        protected needResponsiveness(): boolean;
        needResponsiveWidth(): boolean;
        private _width;
        onContentLoaded: (item: ImageItemValue, event: any) => void;
        private responsiveColCount;
        protected getCurrentColCount(): number;
        gridColCount: number;
        getContainerStyle(): {
            gridAutoFlow?: undefined;
            gridTemplateColumns?: undefined;
        } | {
            gridAutoFlow: string;
            gridTemplateColumns: string;
        };
        protected processResponsiveness(_: number, availableWidth: number): boolean;
        triggerResponsiveness(hard?: boolean): void;
        private gapBetweenItems;
        private reCalcGapBetweenItemsCallback;
        afterRender(el: HTMLElement): void;
    }
}
declare module "packages/survey-core/src/dragdrop/choices" {
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { QuestionSelectBase } from "packages/survey-core/src/question_baseselect";
    import { DragDropCore } from "packages/survey-core/src/dragdrop/core";
    export class DragDropChoices extends DragDropCore<QuestionSelectBase> {
        private imagepickerControlsNode;
        protected readonly draggedElementType: string;
        protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
        onShortcutCreated: (node: HTMLElement) => void;
        private createImagePickerShortcut;
        protected getDropTargetByDataAttributeValue(dataAttributeValue: string): ItemValue;
        private getChoices;
        protected doDragOver: () => any;
        protected isDropTargetValid(dropTarget: ItemValue, dropTargetNode?: HTMLElement): boolean;
        protected doBanDropHere: () => any;
        protected isDropTargetDoesntChanged(newIsBottom: boolean): boolean;
        protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
        protected afterDragOver(dropTargetNode: HTMLElement): void;
        protected doDrop(): any;
        clear(): void;
        private updateVisibleChoices;
    }
}
declare module "packages/survey-core/src/dragdrop/ranking-choices" {
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { DragDropChoices } from "packages/survey-core/src/dragdrop/choices";
    import { QuestionRankingModel } from "packages/survey-core/src/question_ranking";
    export class DragDropRankingChoices extends DragDropChoices {
        protected readonly draggedElementType: string;
        protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
        private readonly shortcutClass: any;
        protected getDropTargetByDataAttributeValue(dataAttributeValue: string): ItemValue;
        private isDragOverRootNode;
        protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
        private getIsDragOverRootNode;
        protected isDropTargetValid(dropTarget: ItemValue, dropTargetNode?: HTMLElement): boolean;
        protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
        protected doDragOver: () => any;
        getIndices(model: any, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>): {
            fromIndex: number;
            toIndex: number;
        };
        protected afterDragOver(dropTargetNode: HTMLElement): void;
        reorderRankedItem: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
        protected updateDraggedElementShortcut(newIndex: number): void;
        protected ghostPositionChanged(): void;
        protected doBanDropHere: () => any;
        protected doDrop(): any;
        clear(): void;
    }
}
declare module "packages/survey-core/src/dragdrop/ranking-select-to-rank" {
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { DragDropRankingChoices } from "packages/survey-core/src/dragdrop/ranking-choices";
    import { QuestionRankingModel } from "packages/survey-core/src/question_ranking";
    export class DragDropRankingSelectToRank extends DragDropRankingChoices {
        protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
        protected getDropTargetByDataAttributeValue(dataAttributeValue: string): ItemValue;
        protected getDropTargetByNode(dropTargetNode: HTMLElement, event: PointerEvent): any;
        protected isDropTargetValid(dropTarget: ItemValue | string, dropTargetNode?: HTMLElement): boolean;
        protected afterDragOver(dropTargetNode: HTMLElement): void;
        doRankBetween(dropTargetNode: HTMLElement, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>, rankFunction: Function): void;
        private readonly isDraggedElementRanked: any;
        private readonly isDropTargetRanked: any;
        private readonly isDraggedElementUnranked: any;
        private updateChoices;
        selectToRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
        unselectFromRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex?: number) => void;
    }
}
declare module "packages/survey-core/src/question_ranking" {
    import { ISurveyImpl } from "packages/survey-core/src/base-interfaces";
    import { DragDropRankingChoices } from "packages/survey-core/src/dragdrop/ranking-choices";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { QuestionCheckboxModel } from "packages/survey-core/src/question_checkbox";
    import { AnimationGroup } from "packages/survey-core/src/utils/animation";
    /**
     * A class that describes the Ranking question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-ranking/ (linkStyle))
     */
    export class QuestionRankingModel extends QuestionCheckboxModel {
        private domNode;
        private dragOrClickHelper;
        constructor(name: string);
        getType(): string;
        getItemTabIndex(item: ItemValue): number;
        protected supportContainerQueries(): boolean;
        readonly rootClass: string;
        protected isItemSelectedCore(item: ItemValue): boolean;
        protected getItemClassCore(item: ItemValue, options: any): string;
        getContainerClasses(containerType?: string): string;
        protected isItemCurrentDropTarget(item: ItemValue): boolean;
        readonly ghostPositionCssClass: string;
        getItemIndexClasses(item: ItemValue): string;
        getNumberByIndex(index: number): string;
        private updateRankingChoicesSync;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        isAnswerCorrect(): boolean;
        readonly requireStrictCompare: boolean;
        onSurveyValueChanged(newValue: any): void;
        onSurveyLoad(): void;
        protected onVisibleChoicesChanged: () => void;
        updateValueFromSurvey(newValue: any, clearData: boolean): void;
        localeChanged: () => void;
        private addToValueByVisibleChoices;
        private removeFromValueByVisibleChoices;
        private getChoicesAnimationOptions;
        private _rankingChoicesAnimation;
        readonly rankingChoicesAnimation: AnimationGroup<ItemValue>;
        private _unRankingChoicesAnimation;
        readonly unRankingChoicesAnimation: AnimationGroup<ItemValue>;
        rankingChoices: Array<ItemValue>;
        unRankingChoices: Array<ItemValue>;
        private _renderedRankingChoices;
        private _renderedUnRankingChoices;
        renderedRankingChoices: Array<ItemValue>;
        renderedUnRankingChoices: Array<ItemValue>;
        private updateRenderedRankingChoices;
        private updateRenderedUnRankingChoices;
        private updateRankingChoices;
        updateUnRankingChoices(newRankingChoices: Array<ItemValue>): void;
        private updateRankingChoicesSelectToRankMode;
        dragDropRankingChoices: DragDropRankingChoices;
        currentDropTarget: ItemValue;
        endLoadingFromJson(): void;
        private setDragDropRankingChoices;
        protected createDragDropRankingChoices(): DragDropRankingChoices;
        private draggedChoiceValue;
        private draggedTargetNode;
        handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
        startDrag: (event: PointerEvent) => void;
        handlePointerUp: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
        private isDragStartNodeValid;
        private isAllowStartDrag;
        private canStartDragDueMaxSelectedChoices;
        private canStartDragDueItemEnabled;
        checkMaxSelectedChoicesUnreached(): boolean;
        afterRenderQuestionElement(el: HTMLElement): void;
        beforeDestroyQuestionElement(el: HTMLElement): void;
        handleKeydown: (event: KeyboardEvent, choice: ItemValue) => void;
        protected supportSelectAll(): boolean;
        supportOther(): boolean;
        supportNone(): boolean;
        supportRefuse(): boolean;
        supportDontKnow(): boolean;
        handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue, hardKey?: string, isNeedFocus?: boolean): void;
        private setValueAfterKeydown;
        private focusItem;
        isValueSetByUser: boolean;
        setValue: () => void;
        getIconHoverCss(): string;
        getIconFocusCss(): string;
        /*
        * Specifies whether to use a long tap (press and hold) gesture to start dragging.
        *
        * Default value: `true`
        *
        * Disable this property if you want to start dragging when users perform a scroll gesture.
        */
        longTap: boolean;
        protected getDefaultItemComponent(): string;
        /*
        * Specifies whether users can select choices they want to rank.
        *
        * When you enable this property, the Ranking question displays two areas for ranked and unranked choices. To order choices, users should first drag them from the unranked to the ranked area. Use this mode if you want to let users order only the choices they select.
        *
        * Default value: `false`
        * @see selectToRankAreasLayout
        */
        selectToRankEnabled: boolean;
        selectToRankSwapAreas: boolean;
        carryForwardStartUnranked: boolean;
        /*
        * Specifies the layout of the ranked and unranked areas. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
        *
        * Possible values:
        *
        * - `"horizontal"` (default) - The ranked and unranked areas are positioned next to each other. Users drag and drop choices between them in the horizontal direction.
        * - `"vertical"`- The ranked area is positioned above the unranked area. Users drag and drop choices between them in the vertical direction.
        * @see selectToRankAreasLayout
        */
        selectToRankAreasLayout: string;
        readonly renderedSelectToRankAreasLayout: string;
        isMobileMode(): boolean;
        /**
         * A placeholder displayed in the area for ranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
         */
        selectToRankEmptyRankedAreaText: string;
        /**
         * A placeholder displayed in the area for unranked choices. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
         */
        selectToRankEmptyUnrankedAreaText: string;
        useFullItemSizeForShortcut: boolean;
        readonly dragDropSvgIcon: string;
        readonly arrowsSvgIcon: string;
        readonly dashSvgIcon: string;
        readonly isNewA11yStructure: boolean;
    }
}
declare module "packages/survey-core/src/question_comment" {
    import { QuestionTextBase } from "packages/survey-core/src/question_textbase";
    import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
    /**
     * A class that describes the Long Text question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-comment/ (linkStyle))
     */
    export class QuestionCommentModel extends QuestionTextBase {
        private element;
        private textAreaModelValue;
        constructor(name: string);
        readonly textAreaModel: TextAreaModel;
        private getTextAreaOptions;
        /*
        * Specifies the visible height of the comment area, measured in lines.
        *
        * The value of this property is passed on to the `rows` attribute of the underlying `<textarea>` element.
        */
        rows: number;
        cols: number;
        /*
        * Specifies whether the question allows line breaks.
        *
        * When this property is enabled, a user can press Enter to insert line breaks. They are saved as `\n` in survey results. The Comment question also recognizes and interprets the `\n` sequence as a line break when you set the question `value` in code.
        */
        acceptCarriageReturn: boolean;
        /*
        * Specifies whether the comment area automatically increases its height to accomodate multi-line content.
        *
        * Default value: `false` (inherited from `SurveyModel`'s [`autoGrowComment`](https://surveyjs.io/form-library/documentation/surveymodel#autoGrowComment) property)
        * @see allowResize
        */
        autoGrow: boolean | undefined;
        readonly renderedAutoGrow: boolean;
        /*
        *
        * Default value: `true` (inherited from `SurveyModel`'s [`allowResizeComment`](https://surveyjs.io/form-library/documentation/surveymodel#allowResizeComment) property)
        * @see autoGrow
        */
        allowResize: boolean | undefined;
        readonly renderedAllowResize: boolean;
        readonly resizeStyle: "none" | "both";
        getType(): string;
        afterRenderQuestionElement(el: HTMLElement): void;
        beforeDestroyQuestionElement(el: HTMLElement): void;
        onInput(event: any): void;
        protected onBlurCore(event: any): void;
        onKeyDown(event: any): void;
        protected setNewValue(newValue: string): any;
        protected getValueSeparator(): string;
        protected notifyStateChanged(prevState: string): void;
        readonly className: string;
    }
}
declare module "packages/survey-core/src/question_html" {
    import { QuestionNonValue } from "packages/survey-core/src/questionnonvalue";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    /**
      * A class that describes the HTML question type. Unlike other question types, HTML cannot have a title or value.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-html/ (linkStyle))
     */
    export class QuestionHtmlModel extends QuestionNonValue {
        ignoreHtmlProgressing: boolean;
        constructor(name: string);
        getType(): string;
        readonly isCompositeQuestion: boolean;
        getProcessedText(text: string): string;
        /*
        * HTML markup to display.
        *
        * > IMPORTANT: If you get the markup from a third party, ensure that it does not contain malicious code.
        */
        html: string;
        readonly locHtml: LocalizableString;
        readonly processedHtml: string;
        private processHtml;
        readonly isNewA11yStructure: boolean;
        readonly renderCssRoot: string;
    }
}
declare module "packages/survey-core/src/question_radiogroup" {
    import { QuestionCheckboxBase } from "packages/survey-core/src/question_baseselect";
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { Action } from "packages/survey-core/src/actions/action";
    /**
     * A class that describes the Radio Button Group question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-radiogroup/ (linkStyle))
     */
    export class QuestionRadiogroupModel extends QuestionCheckboxBase {
        constructor(name: string);
        protected getDefaultItemComponent(): string;
        getType(): string;
        protected getFirstInputElementId(): string;
        /*
        * Returns the selected choice item. If no item is selected, returns `null`.
        */
        readonly selectedItem: ItemValue;
        /*
        * Specifies whether to display a button that clears the question value.
        *
        * Default value: `false`
        */
        showClearButton: boolean;
        readonly canShowClearButton: boolean;
        readonly clearButtonCaption: string;
        supportGoNextPageAutomatic(): boolean;
        getConditionJson(operator?: string, path?: string): any;
        protected setNewComment(newValue: string): void;
        readonly showClearButtonInContent: boolean;
        clickItemHandler(item: ItemValue): void;
        protected getDefaultTitleActions(): Array<Action>;
        readonly isNewA11yStructure: boolean;
        readonly a11y_input_ariaRole: string;
    }
}
declare module "packages/survey-core/src/question_rating" {
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { Question } from "packages/survey-core/src/question";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { Base } from "packages/survey-core/src/base";
    import { DropdownListModel } from "packages/survey-core/src/dropdownListModel";
    import { ISurveyImpl } from "packages/survey-core/src/base-interfaces";
    import { ITheme } from "packages/survey-core/src/themes";
    import { HashTable } from "packages/survey-core/src/helpers";
    export class RenderedRatingItem extends Base {
        itemValue: ItemValue;
        private locString;
        private onStringChangedCallback;
        readonly value: number;
        highlight: "none" | "highlighted" | "unhighlighted";
        readonly locText: LocalizableString;
        text: string;
        style: any;
        constructor(itemValue: ItemValue, locString?: LocalizableString);
    }
    /**
     * A class that describes the Rating Scale question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
     */
    export class QuestionRatingModel extends Question {
        constructor(name: string);
        private setIconsToRateValues;
        locStrsChanged(): void;
        private updateReadOnlyText;
        endLoadingFromJson(): void;
        private _syncPropertiesChanging;
        private registerSychProperties;
        private useRateValues;
        private updateRateMax;
        private updateRateMin;
        private updateRateCount;
        initPropertyDependencies(): void;
        inputHasValue: boolean;
        readonly showSelectedItemLocText: boolean;
        readonly selectedItemLocText: LocalizableString;
        autoGenerate: boolean;
        /*
        * A list of rate values.
        *
        * This property accepts an array of objects with the following structure:
        *
        * ```js
        * {
        *   "value": any, // A value to be saved in survey results
        *   "text": String, // A display text. This property supports Markdown. When `text` is undefined, `value` is used.
        *   "customProperty": any // Any property that you find useful.
        * }
        * ```
        *
        * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
        *
        * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
        *
        * If you need to specify only the `value` property, you can set the `rateValues` property to an array of numbers, for example, `[ 3, 6, 10 ]`. These values are both saved in survey results and used as display text.
        *
        * If you do not specify the `rateValues` property, rate values are generated automatically based upon the [`rateMin`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMin), [`rateMax`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMax), [`rateStep`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateStep), and [`rateCount`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateCount) property values.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
        */
        rateValues: Array<any>;
        /*
        * Specifies the first rate value in the generated sequence of rate values. Applies if the [`rateValues`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateValues) array is empty.
        *
        * Default value: 1
        *
        * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
        * @see rateMax
        * @see rateStep
        * @see rateCount
        */
        rateMin: number;
        /*
        * Specifies the last rate value in the generated sequence of rate values. Applies if the [`rateValues`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateValues) array is empty.
        *
        * Default value: 5
        *
        * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
        * @see rateMin
        * @see rateStep
        * @see rateCount
        */
        rateMax: number;
        /*
        * Specifies a step with which to generate rate values. Applies if the [`rateValues`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateValues) array is empty.
        *
        * Default value: 1
        *
        * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
        * @see rateMin
        * @see rateMax
        * @see rateCount
        */
        rateStep: number;
        /**
         * Specifies the number of rate values you want to generate. Applies if the [`rateValues`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateValues) array is empty.
         *
         * Set the [`rateMin`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMin) or [`rateMax`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateMax) property to specify the first or the last rate value. Use the [`rateStep`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateStep) property to specify a step with which to generate rate values.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
         */
        rateCount: number;
        private static colorsCalculated;
        private static badColor;
        private static normalColor;
        private static goodColor;
        private static badColorLight;
        private static normalColorLight;
        private static goodColorLight;
        private updateColors;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        readonly visibleRateValues: ItemValue[];
        protected supportEmptyValidation(): boolean;
        itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
        protected runConditionCore(values: HashTable<any>, properties: HashTable<any>): void;
        protected runRateItesmCondition(values: HashTable<any>, properties: HashTable<any>): void;
        private getRateValuesCore;
        private calculateRateValues;
        private calculateRenderedRateItems;
        private calculateVisibleChoices;
        private iCounter;
        private resetRenderedItems;
        readonly renderedRateItems: Array<RenderedRatingItem>;
        readonly visibleChoices: ItemValue[];
        private createRateValues;
        private getRatingItemValue;
        private correctValue;
        getType(): string;
        protected getFirstInputElementId(): string;
        getInputId(index: number): string;
        readonly questionName: string;
        supportGoNextPageAutomatic(): boolean;
        supportOther(): boolean;
        protected getPlainDataCalculatedValue(propName: string): any;
        /*
        * Specifies a description for the minimum (first) rate value.
        * @see rateDescriptionLocation
        * @see displayRateDescriptionsAsExtremeItems
        * @see rateValues
        * @see rateMin
        */
        minRateDescription: string;
        readonly locMinRateDescription: LocalizableString;
        /*
        * Specifies a description for the maximum (last) rate value.
        * @see rateDescriptionLocation
        * @see displayRateDescriptionsAsExtremeItems
        * @see rateValues
        * @see rateMax
        */
        maxRateDescription: string;
        readonly locMaxRateDescription: LocalizableString;
        hasMinRateDescription: boolean;
        hasMaxRateDescription: boolean;
        readonly hasMinLabel: boolean;
        readonly hasMaxLabel: boolean;
        /**
        * Specifies whether to display [`minRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#minRateDescription) and [`maxRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#maxRateDescription) values as captions for buttons that correspond to the extreme (first and last) rate values.
        *
        * Default value: `false`
        *
        * If this property is disabled, the `minRateDescription` and `maxRateDescription` values are displayed as plain non-clickable texts.
        *
        * If any of the `minRateDescription` and `maxRateDescription` properties is empty, the corresponding rate value's `value` or `text` is displayed as a button caption.
        * @see rateDescriptionLocation
        * @see rateMin
        * @see rateMax
        * @see rateValues
        */
        displayRateDescriptionsAsExtremeItems: boolean;
        /**
        * Specifies whether to display rate values as buttons or items in a drop-down list.
        *
        * Possible values:
        *
        * - `"buttons"` - Displays rate values as buttons in a row.
        * - `"dropdown"` - Displays rate values as items in a drop-down list.
        * - `"auto"` (default) - Selects between the `"buttons"` and `"dropdown"` modes based on the available width. When the width is insufficient to display buttons, the question displays a dropdown.
        *
        * [View Demo](https://surveyjs.io/form-library/examples/ui-adaptation-modes-for-rating-scale/ (linkStyle))
        * @see rateType
        */
        displayMode: "dropdown" | "buttons" | "auto";
        private updateRenderAsBasedOnDisplayMode;
        onSurveyLoad(): void;
        /**
        * Specifies the alignment of [`minRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#minRateDescription) and [`maxRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#maxRateDescription) texts.
        *
        * Possible values:
        *
        * - `"leftRight"` (default) - Aligns `minRateDescription` to the left of rate values and `maxRateDescription` to their right.
        * - `"top"` - Displays the descriptions above the minimum and maximum rate values.
        * - `"bottom"` - Displays both descriptions below the minimum and maximum rate values.
        * - `"topBottom"` - Displays `minRateDescription` above the minimum rate value and `maxRateDescription` below the maximum rate value.
        * @see displayRateDescriptionsAsExtremeItems
        */
        rateDescriptionLocation: "leftRight" | "top" | "bottom" | "topBottom";
        /**
         * Specifies the visual representation of rate values.
         *
         * Possible values:
         *
         * - `"labels"` (default) - Displays rate values as buttons with labels.
         * - `"stars"` - Displays rate values as stars.
         * - `"smileys"` - Displays rate values as smiley faces.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
         * @see scaleColorMode
         * @see rateColorMode
         * @see displayMode
         */
        rateType: "labels" | "stars" | "smileys";
        rateDisplayMode: "labels" | "stars" | "smileys";
        /**
         * Specifies how to colorize the smiley face rating scale. Applies only if [`rateType`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateType) is `"smileys"`.
         *
         * Possible values:
         *
         * - `"monochrome"` (default) - Displays emojis in monochrome.
         * - `"colored"` - Displays emojis in color.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/rating-scale/ (linkStyle))
         * @see rateColorMode
         */
        scaleColorMode: "monochrome" | "colored";
        /**
         * Specifies how to colorize the selected emoji. Applies only if [`rateType`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#rateType) is `"smileys"`.
         *
         * Possible values:
         *
         * - `"default"` - Displays the selected emoji in default survey color.
         * - `"scale"` (default) - Inherits the color from the scale.
         * @see scaleColorMode
         */
        rateColorMode: "default" | "scale";
        readonly isStar: boolean;
        readonly isSmiley: boolean;
        getDefaultItemComponent(): string;
        /*
        * The name of a component used to render items.
        */
        itemComponent: string;
        protected valueToData(val: any): any;
        setValueFromClick(value: any): void;
        onItemMouseIn(item: RenderedRatingItem): void;
        onItemMouseOut(item: RenderedRatingItem): void;
        readonly itemSmallMode: boolean;
        readonly ratingRootCss: string;
        readonly itemStarIcon: string;
        readonly itemStarIconAlt: string;
        getItemSmiley(item: ItemValue): string;
        getItemSmileyIconName(item: ItemValue): string;
        getItemClassByText(item: ItemValue, text: string): string;
        private getRenderedItemColor;
        getItemStyle(item: ItemValue, highlight?: "none" | "highlighted" | "unhighlighted"): {
            "--sd-rating-item-color"?: undefined;
            "--sd-rating-item-color-light"?: undefined;
        } | {
            "--sd-rating-item-color": string;
            "--sd-rating-item-color-light": string;
        } | {
            "--sd-rating-item-color": string;
            "--sd-rating-item-color-light"?: undefined;
        };
        getItemClass(item: ItemValue, highlight?: "none" | "highlighted" | "unhighlighted"): string;
        getControlClass(): string;
        placeholder: string;
        readonly locPlaceholder: LocalizableString;
        readonly allowClear: boolean;
        readonly searchEnabled: boolean;
        renderedValue: any;
        isItemSelected(item: ItemValue): boolean;
        readOnlyText: string;
        readonly locReadOnlyText: LocalizableString;
        needResponsiveWidth(): boolean;
        protected supportResponsiveness(): boolean;
        protected onBeforeSetCompactRenderer(): void;
        protected getCompactRenderAs(): string;
        protected getDesktopRenderAs(): string;
        private dropdownListModelValue;
        dropdownListModel: DropdownListModel;
        protected onBlurCore(event: any): void;
        protected updateCssClasses(res: any, css: any): void;
        protected calcCssClasses(css: any): any;
        themeChanged(theme: ITheme): void;
        setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
        dispose(): void;
    }
}
declare module "packages/survey-core/src/question_boolean" {
    import { Question } from "packages/survey-core/src/question";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    import { ActionContainer } from "packages/survey-core/src/actions/container";
    /**
     * A class that describes the Yes/No (Boolean) question type.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-boolean/ (linkStyle))
     */
    export class QuestionBooleanModel extends Question {
        constructor(name: string);
        getType(): string;
        isLayoutTypeSupported(layoutType: string): boolean;
        supportGoNextPageAutomatic(): boolean;
        readonly isIndeterminate: boolean;
        readonly hasTitle: boolean;
        /*
        * Gets or sets the question value as a Boolean value.
        *
        * If you set the `valueTrue` and `valueFalse` properties, the `value` property contains their values instead of Boolean values. This may be inconvenient when you operate the question value in code. To access the standard Boolean values, use the `booleanValue` property.
        * @see valueTrue
        * @see valueFalse
        */
        booleanValue: any;
        booleanValueRendered: boolean;
        checkedValue: any;
        private setBooleanValue;
        defaultValue: any;
        getDefaultValue(): any;
        readonly locTitle: LocalizableString;
        readonly labelRenderedAriaID: string;
        beforeDestroyQuestionElement(el: HTMLElement): void;
        showTitle: boolean;
        label: string;
        readonly isLabelRendered: boolean;
        readonly canRenderLabelDescription: boolean;
        /*
        * Gets or sets a text label that corresponds to a positive answer.
        *
        * Default value: "Yes"
        * @see valueTrue
        * @see valueFalse
        */
        labelTrue: string;
        readonly locLabelTrue: LocalizableString;
        readonly isDeterminated: boolean;
        /**
         * Specifies whether to swap the order of the Yes and No answers.
         *
         * Default value: `false`
         *
         * By default, the order is [ "No", "Yes"]. Enable this property to reorder the answers as follows: [ "Yes", "No" ].
         */
        swapOrder: boolean;
        readonly locLabelLeft: LocalizableString;
        readonly locLabelRight: LocalizableString;
        /*
        * Gets or sets a text label that corresponds to a negative answer.
        *
        * Default value: "No"
        * @see valueTrue
        * @see valueFalse
        */
        labelFalse: string;
        readonly locLabelFalse: LocalizableString;
        /**
         * A value to save in survey results when respondents give a positive answer.
         *
         * Default value: `true`
         * @see labelTrue
         * @see labelFalse
         */
        valueTrue: any;
        /**
         * A value to save in survey results when respondents give a negative answer.
         *
         * Default value: `false`
         * @see labelTrue
         * @see labelFalse
         */
        valueFalse: any;
        getValueTrue(): any;
        getValueFalse(): any;
        protected setDefaultValue(): void;
        private isDefaultValueSet;
        protected getDisplayValueCore(keysAsText: boolean, value: any): any;
        private getItemCssValue;
        getItemCss(): string;
        getCheckboxItemCss(): string;
        getLabelCss(checked: boolean): string;
        updateValueFromSurvey(newValue: any, clearData?: boolean): void;
        protected onValueChanged(): void;
        readonly svgIcon: string;
        readonly itemSvgIcon: string;
        readonly allowClick: boolean;
        getCheckedLabel(): LocalizableString;
        protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
        onLabelClick(event: any, value: boolean): boolean;
        private calculateBooleanValueByEvent;
        onSwitchClickModel(event: any): boolean;
        onKeyDownCore(event: any): boolean;
        getRadioItemClass(css: any, value: any): string;
        protected supportResponsiveness(): boolean;
        protected getCompactRenderAs(): string;
        protected createActionContainer(allowAdaptiveActions?: boolean): ActionContainer;
        readonly isNewA11yStructure: boolean;
        readonly a11y_input_ariaRole: string;
    }
}
declare module "packages/survey-core/src/question_image" {
    import { QuestionNonValue } from "packages/survey-core/src/questionnonvalue";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    /**
      * A class that describes the Image question type. Unlike other question types, Image cannot have a title or value.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/questiontype-image/ (linkStyle))
     */
    export class QuestionImageModel extends QuestionNonValue {
        contentNotLoaded: boolean;
        constructor(name: string);
        getType(): string;
        readonly isCompositeQuestion: boolean;
        onSurveyLoad(): void;
        /*
        * Specifies an image or video URL.
        * @see contentMode
        */
        imageLink: string;
        readonly locImageLink: LocalizableString;
        /*
        * Specifies a value for the `alt` attribute of the underlying `<img>` element.
        */
        altText: string;
        readonly locAltText: LocalizableString;
        /*
        * Specifies the height of a container for the image or video. Accepts positive numbers and CSS values.
        *
        * Default value: 150
        *
        * Use the `imageFit` property to specify how to fit the image or video into the container.
        * @see imageWidth
        * @see imageFit
        */
        imageHeight: string;
        readonly renderedStyleHeight: string;
        readonly renderedHeight: number;
        /*
        * Specifies the width of a container for the image or video. Accepts positive numbers and CSS values.
        *
        * Default value: 200
        *
        * Use the `imageFit` property to specify how to fit the image or video into the container.
        * @see imageHeight
        * @see imageFit
        */
        imageWidth: string;
        readonly renderedStyleWidth: string;
        readonly renderedWidth: number;
        /*
        * Specifies how to resize the image or video to fit it into its container.
        *
        * Refer to the [`object-fit`](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property description for information on accepted values.
        * @see imageHeight
        * @see imageWidth
        */
        imageFit: string;
        /*
        * Specifies the type of content that the Image question displays.
        *
        * Possible values:
        *
        * - `"image"` - An image in one of the following formats: JPEG, GIF, PNG, APNG, SVG, BMP, ICO.
        * - `"video"` - A video in one of the following formats: MP4, MOV, WMV, FLV, AVI, MKV.
        * - `"youtube"` - A link to a YouTube video.
        * - `"auto"` (default) - Selects one of the above based on the [`imageLink`](https://surveyjs.io/form-library/documentation/questionimagemodel#imageLink) property.
        */
        contentMode: string;
        /*
        * Returns the type of content that the Image question displays: `"image"`, `"video"`, or `"youtube"`.
        * @see contentMode
        */
        readonly renderedMode: string;
        getImageCss(): string;
        onLoadHandler(): void;
        onErrorHandler(): void;
        private setRenderedMode;
        protected calculateRenderedMode(): void;
        private isYoutubeVideo;
        private isVideo;
    }
}
declare module "packages/survey-core/src/surveyProgress" {
    export class SurveyProgressModel {
        static getProgressTextInBarCss(css: any): string;
        static getProgressTextUnderBarCss(css: any): string;
    }
}
declare module "packages/survey-core/src/popup-survey" {
    import { Base } from "packages/survey-core/src/base";
    import { SurveyModel } from "packages/survey-core/src/survey";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    /**
     * A class that renders a survey in a pop-up window.
     *
     * [View Demo](https://surveyjs.io/form-library/examples/popup-survey/ (linkStyle))
     */
    export class PopupSurveyModel extends Base {
        surveyValue: SurveyModel;
        windowElement: HTMLDivElement;
        templateValue: string;
        expandedChangedCallback: () => void;
        showingChangedCallback: () => void;
        constructor(jsonObj: any, initialModel?: SurveyModel);
        protected onCreating(): void;
        getType(): string;
        /*
        * A [`SurveyModel`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model) instance rendered in the pop-up window.
        */
        readonly survey: SurveyModel;
        /**
         * Specifies how many seconds the pop-up window should remain open after users complete the survey.
         *
         * Default value: 0 (the window is closed immediately)
         *
         * Set this property to a negative value (for instance, -1) to keep the pop-up window open without a time limit.
         */
        closeOnCompleteTimeout: number;
        /*
        * Indicates whether the pop-up survey appears on the page, regardless of its [expand state](#isExpanded).
        *
        * You can set this property to `true` or `false` to control visibility of the pop-up survey. Alternatively, you can use the [`show()`](#show) and [`hide()`](#hide) methods.
        */
        isShowing: boolean;
        isFullScreen: boolean;
        /**
         * Shows the pop-up survey. The survey may appear [expanded or collapsed](#isExpanded).
         *
         * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `true`.
         * @see hide
         */
        show(): void;
        /**
         * Hides the pop-up survey.
         *
         * As an alternative to this method, you can set the [`isShowing`](#isShowing) property to `false`.
         * @see show
         * @see expand
         * @see collapse
         */
        hide(): void;
        toggleFullScreen(): void;
        /*
        * Indicates whether the pop-up window is expanded or collapsed.
        *
        * You can set this property to `true` or `false` to control the expand state of the pop-up survey. Alternatively, you can use the [`expand()`](#expand) and [`collapse()`](#collapse) methods.
        */
        isExpanded: boolean;
        readonly isCollapsed: boolean;
        protected onExpandedChanged(): void;
        /*
        * A title for the pop-up window. If this property is undefined, the title is taken from [`SurveyModel`](#survey)'s [`title`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title) property.
        */
        title: string;
        readonly locTitle: LocalizableString;
        readonly locDescription: LocalizableString;
        /**
         * Expands the pop-up window.
         *
         * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `true`.
         * @see collapse
         */
        expand(): void;
        /**
         * Collapses the pop-up window, leaving only the survey title visible.
         *
         * As an alternative to this method, you can set the [`isExpanded`](#isExpanded) property to `false`.
         * @see expand
         */
        collapse(): void;
        changeExpandCollapse(): void;
        /*
        * Specifies whether to display a button that closes the pop-up window.
        *
        * Default value: `false`
        *
        * If you allow users to close the pop-up window, make sure to implement a UI element that opens it. This element should call the [`show()`](#show) method or enable the [`isShowing`](#isShowing) property.
        * @see expand
        * @see collapse
        * @see hide
        */
        allowClose: boolean;
        /*
        * Specifies whether to display a button that allows respondents to show the pop-up survey in full screen mode.
        *
        * Default value: `false`
        */
        allowFullScreen: boolean;
        readonly css: any;
        readonly cssButton: string;
        readonly cssRoot: string;
        readonly cssRootCollapsedMod: string;
        readonly cssRootContent: string;
        readonly cssBody: string;
        readonly cssHeaderRoot: string;
        readonly cssHeaderTitleCollapsed: string;
        readonly cssHeaderButtonsContainer: string;
        readonly cssHeaderCollapseButton: string;
        readonly cssHeaderCloseButton: string;
        readonly cssHeaderFullScreenButton: string;
        readonly renderedWidth: string;
        width: string;
        private updateCss;
        private setCssRoot;
        private updateCssButton;
        private setCssButton;
        protected createSurvey(jsonObj: any): SurveyModel;
        protected onSurveyComplete(): void;
        onScroll(): void;
    }
    /**
     * Obsolete. Please use PopupSurvey
     */
    export class SurveyWindowModel extends PopupSurveyModel {
    }
}
declare module "packages/survey-core/src/popup-modal-view-model" {
    import { CssClassBuilder } from "packages/survey-core/src/utils/cssClassBuilder";
    import { PopupModel } from "packages/survey-core/src/popup";
    import { PopupBaseViewModel } from "packages/survey-core/src/popup-view-model";
    export class PopupModalViewModel extends PopupBaseViewModel {
        protected getStyleClass(): CssClassBuilder;
        protected getShowFooter(): boolean;
        protected createFooterActionBar(): void;
        constructor(model: PopupModel);
        readonly applyButtonText: string;
        apply(): void;
        clickOutside(): void;
        onKeyDown(event: any): void;
        private onScrollOutsideCallback;
        updateOnShowing(): void;
        updateOnHiding(): void;
    }
}
declare module "packages/survey-core/src/popup-utils" {
    import { IDialogOptions, PopupModel } from "packages/survey-core/src/popup";
    import { PopupBaseViewModel } from "packages/survey-core/src/popup-view-model";
    export function createPopupModalViewModel(options: IDialogOptions, rootElement?: HTMLElement): PopupBaseViewModel;
    export function createPopupViewModel(model: PopupModel): PopupBaseViewModel;
}
declare module "packages/survey-core/src/question_buttongroup" {
    import { ItemValue } from "packages/survey-core/src/itemvalue";
    import { QuestionCheckboxBase } from "packages/survey-core/src/question_baseselect";
    import { LocalizableString } from "packages/survey-core/src/localizablestring";
    export class ButtonGroupItemValue extends ItemValue {
        protected typeName: string;
        constructor(value: any, text?: string, typeName?: string);
        iconName: string;
        iconSize: number;
        /**
         * By default item caption is visible.
         * Set it 'false' to hide item caption.
         */
        showCaption: boolean;
        getType(): string;
    }
    /**
     * A Model for a button group question.
     */
    export class QuestionButtonGroupModel extends QuestionCheckboxBase {
        constructor(name: string);
        locStrsChanged(): void;
        private updateReadOnlyText;
        getType(): string;
        protected getItemValueType(): string;
        supportOther(): boolean;
    }
    export class ButtonGroupItemModel {
        question: QuestionButtonGroupModel;
        item: ItemValue;
        index: number;
        constructor(question: QuestionButtonGroupModel, item: ItemValue, index: number);
        readonly value: any;
        readonly iconName: string;
        readonly iconSize: string | number;
        readonly caption: LocalizableString;
        readonly showCaption: any;
        readonly isRequired: boolean;
        readonly selected: boolean;
        readonly readOnly: boolean;
        readonly name: string;
        readonly id: string;
        readonly hasErrors: boolean;
        readonly describedBy: string;
        private readonly labelClass: any;
        readonly css: {
            label: string;
            icon: any;
            control: any;
            caption: any;
            decorator: any;
        };
        onChange(): void;
    }
}
declare module "packages/survey-core/src/mask/mask_pattern" {
    import { InputMaskBase } from "packages/survey-core/src/mask/mask_base";
    import { IMaskedInputResult, ITextInputParams } from "packages/survey-core/src/mask/mask_utils";
    import { ILoadFromJSONOptions } from "packages/survey-core/src/base-interfaces";
    export interface IMaskLiteral {
        type: "const" | "regex" | "fixed";
        value: any;
    }
    export function getLiterals(pattern: string): Array<IMaskLiteral>;
    export function getMaskedValueByPattern(src: string, pattern: string | Array<IMaskLiteral>, matchWholeMask: boolean): string;
    export function getUnmaskedValueByPattern(str: string, pattern: string | Array<IMaskLiteral>, matchWholeMask: boolean, skipFixedChar?: boolean): string;
    /**
     * A class that describes an input mask of the `"pattern"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
     *
     * The following code shows how to specify the properties of this class within a survey JSON schema:
     *
     * ```js
     * const surveyJson = {
     *   "elements": [{
     *     "name": "textquestion1"
     *     "type": "text",
     *     "maskType": "pattern",
     *     "maskSettings": {
     *       // Specify the properties of a pattern input mask here
     *     }
     *   }]
     * }
     * ```
     *
     * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
     */
    export class InputMaskPattern extends InputMaskBase {
        private literals;
        /**
         * A pattern for the input value.
         *
         * If you set the [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType) to `"pattern"`, the mask can contain string literals and the following placeholders:
         *
         * - `9` - A digit.
         * - `a` - An upper- or lower-case letter.
         * - `#` - A digit or an upper- or lower-case letter.
         *
         * Use backslash `\` to escape a character.
         *
         * Example: `+1(999)-999-99-99`
         *
         * If you set the [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType) to `"datetime"`, the mask can contain separator characters and the following placeholders:
         *
         * - `m` - Month number.
         * - `mm` - Month number, with leading zero for single-digit values.
         * - `d` - Day of the month.
         * - `dd` - Day of the month, with leading zero for single-digit values.
         * - `yy` - Last two digits of the year.
         * - `yyyy` - A four-digit year.
         * - `H` - Hours in 24-hour format.
         * - `HH` - Hours in 24-hour format, with leading zero for single-digit values.
         * - `h` - Hours in 12-hour format.
         * - `hh` - Hours in 12-hour format, with leading zero for single-digit values.
         * - `MM` - Minutes.
         * - `ss` - Seconds.
         * - `TT` - 12-hour clock period in upper case (AM/PM).
         * - `tt` - 12-hour clock period in lower case (am/pm).
         *
         * Example: `mm/dd/yyyy HH:MM:ss`
         *
         * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
         * @see [settings.maskSettings](https://surveyjs.io/form-library/documentation/api-reference/settings#maskSettings)
         */
        pattern: string;
        protected updateLiterals(): void;
        protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
        getType(): string;
        fromJSON(json: any, options?: ILoadFromJSONOptions): void;
        _getMaskedValue(src: string, matchWholeMask?: boolean): string;
        _getUnmaskedValue(src: string, matchWholeMask?: boolean): string;
        processInput(args: ITextInputParams): IMaskedInputResult;
        getMaskedValue(src: any): string;
        getUnmaskedValue(src: string): any;
    }
}
declare module "packages/survey-core/src/mask/mask_numeric" {
    import { InputMaskBase } from "packages/survey-core/src/mask/mask_base";
    import { IMaskedInputResult, ITextInputParams } from "packages/survey-core/src/mask/mask_utils";
    interface INumericalComposition {
        integralPart: string;
        fractionalPart: string;
        isNegative?: boolean;
        hasDecimalSeparator?: boolean;
    }
    export function splitString(str: string, reverse?: boolean, n?: number): Array<string>;
    /**
     * A class that describes an input mask of the `"numeric"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
     *
     * The following code shows how to specify the properties of this class within a survey JSON schema:
     *
     * ```js
     * const surveyJson = {
     *   "elements": [{
     *     "name": "textquestion1"
     *     "type": "text",
     *     "maskType": "numeric",
     *     "maskSettings": {
     *       // Specify the properties of a numeric input mask here
     *     }
     *   }]
     * }
     * ```
     *
     * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
     */
    export class InputMaskNumeric extends InputMaskBase {
        /**
         * Specifies whether respondents can enter negative values.
         *
         * Default value: `true`
         * @see min
         * @see max
         */
        allowNegativeValues: boolean;
        /**
         * A symbol used to separate the fractional part from the integer part of a displayed number.
         *
         * Default value: `"."`
         * @see precision
         * @see thousandsSeparator
         */
        decimalSeparator: string;
        /**
         * Limits how many digits to retain after the decimal point for a displayed number.
         *
         * Default value: 2
         *
         * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
         * @see decimalSeparator
         */
        precision: number;
        /**
         * A symbol used to separate the digits of a large number into groups of three.
         *
         * Default value: `","`
         * @see decimalSeparator
         */
        thousandsSeparator: string;
        /**
         * A minimum value that respondents can enter.
         * @see max
         * @see allowNegativeValues
         */
        min: number;
        /**
         * A maximum value that respondents can enter.
         * @see min
         * @see allowNegativeValues
         */
        max: number;
        private calccaretPosition;
        private numericalCompositionIsEmpty;
        displayNumber(parsedNumber: INumericalComposition, insertThousandsSeparator?: boolean, matchWholeMask?: boolean): string;
        convertNumber(parsedNumber: INumericalComposition): number;
        validateNumber(number: INumericalComposition, matchWholeMask: boolean): boolean;
        parseNumber(src: string): INumericalComposition;
        getNumberMaskedValue(src: string, matchWholeMask?: boolean): string;
        private getNumberUnmaskedValue;
        getTextAlignment(): "left" | "right" | "auto";
        getMaskedValue(src: any): string;
        getUnmaskedValue(src: string): any;
        processInput(args: ITextInputParams): IMaskedInputResult;
        getType(): string;
        protected isValueUndefined(value: any): boolean;
    }
}
declare module "packages/survey-core/src/mask/mask_datetime" {
    import { InputMaskPattern } from "packages/survey-core/src/mask/mask_pattern";
    import { IMaskedInputResult, ITextInputParams } from "packages/survey-core/src/mask/mask_utils";
    type DateTimeMaskLexemType = "month" | "day" | "year" | "hour" | "minute" | "second" | "timeMarker" | "separator";
    export interface IDateTimeMaskLexem {
        type: DateTimeMaskLexemType;
        value: any;
        count: number;
        maxCount: number;
        upperCase: boolean;
    }
    interface IDateTimeComposition {
        day: number;
        month: number;
        year: number;
        hour?: number;
        minute?: number;
        second?: number;
        timeMarker?: string;
        min?: Date;
        max?: Date;
    }
    export function getDateTimeLexems(pattern: string): Array<IDateTimeMaskLexem>;
    /**
     * A class that describes an input mask of the `"datetime"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
     *
     * The following code shows how to specify the properties of this class within a survey JSON schema:
     *
     * ```js
     * const surveyJson = {
     *   "elements": [{
     *     "name": "textquestion1"
     *     "type": "text",
     *     "maskType": "datetime",
     *     "maskSettings": {
     *       // Specify the properties of a date-time input mask here
     *     }
     *   }]
     * }
     * ```
     *
     * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
     */
    export class InputMaskDateTime extends InputMaskPattern {
        private defaultDate;
        private turnOfTheCentury;
        private twelve;
        private lexems;
        private inputDateTimeData;
        private validBeginningOfNumbers;
        /**
         * A minimum date and time value that respondents can enter.
         * @see max
         */
        min: string;
        /**
         * A maximum date and time value that respondents can enter.
         * @see min
         */
        max: string;
        readonly hasDatePart: boolean;
        readonly hasTimePart: boolean;
        private readonly is12Hours: any;
        getType(): string;
        getTypeForExpressions(): string;
        protected updateLiterals(): void;
        private leaveOnlyNumbers;
        private getMaskedStrFromISO;
        private initInputDateTimeData;
        getISO_8601Format(dateTime: IDateTimeComposition): string;
        private isYearValid;
        private createIDateTimeCompositionWithDefaults;
        private getMaxDateForMonth;
        private isDateValid;
        private getPlaceholder;
        private isDateValid12;
        private updateTimeMarkerInputDateTimeData;
        private updateInputDateTimeData;
        private checkValidationDateTimePart;
        private getCorrectDatePartFormat;
        private createIDateTimeComposition;
        private parseTwoDigitYear;
        private getFormatedString;
        private cleanTimeMarker;
        private setInputDateTimeData;
        _getMaskedValue(src: string, matchWholeMask?: boolean): string;
        private getParts;
        getUnmaskedValue(src: string): any;
        getMaskedValue(src: string): string;
        processInput(args: ITextInputParams): IMaskedInputResult;
    }
}
declare module "packages/survey-core/src/mask/mask_currency" {
    import { InputMaskNumeric } from "packages/survey-core/src/mask/mask_numeric";
    import { IMaskedInputResult, ITextInputParams } from "packages/survey-core/src/mask/mask_utils";
    /**
     * A class that describes an input mask of the `"currency"` [`maskType`](https://surveyjs.io/form-library/documentation/api-reference/text-entry-question-model#maskType).
     *
     * The following code shows how to specify the properties of this class within a survey JSON schema:
     *
     * ```js
     * const surveyJson = {
     *   "elements": [{
     *     "name": "textquestion1"
     *     "type": "text",
     *     "maskType": "currency",
     *     "maskSettings": {
     *       // Specify the properties of a currency input mask here
     *     }
     *   }]
     * }
     * ```
     *
     * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
     */
    export class InputMaskCurrency extends InputMaskNumeric {
        /**
         * One or several symbols to be displayed before the currency value.
         *
         * [View Demo](https://surveyjs.io/form-library/examples/masked-input-fields/ (linkStyle))
         * @see suffix
         */
        prefix: string;
        /**
         * One or several symbols to be displayed after the currency value.
         * @see prefix
         */
        suffix: string;
        getType(): string;
        private wrapText;
        unwrapInputArgs(args: ITextInputParams): void;
        processInput(args: ITextInputParams): IMaskedInputResult;
        getMaskedValue(src: any): string;
    }
}
declare module "packages/survey-core/entries/chunks/model" {
    export var Version: string;
    export var ReleaseDate: string;
    export function checkLibraryVersion(ver: string, libraryName: string): void;
    export function setLicenseKey(key: string): void;
    export function slk(key: string): void;
    export function hasLicense(index: number): boolean;
    export function glc(index: number): any;
    export { settings, ISurveyEnvironment } from "packages/survey-core/src/settings";
    export { Helpers, HashTable } from "packages/survey-core/src/helpers";
    export { AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner } from "packages/survey-core/src/validator";
    export { ItemValue } from "packages/survey-core/src/itemvalue";
    export { Base, Event, EventBase, ArrayChanges, ComputedUpdater } from "packages/survey-core/src/base";
    export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions, ISaveToJSONOptions, HorizontalAlignment, VerticalAlignment } from "packages/survey-core/src/base-interfaces";
    export { SurveyError } from "packages/survey-core/src/survey-error";
    export { SurveyElementCore, SurveyElement, DragTypeOverMeEnum } from "packages/survey-core/src/survey-element";
    export { CalculatedValue } from "packages/survey-core/src/calculatedValue";
    export { CustomError, AnswerRequiredError, OneAnswerRequiredError, RequreNumericError, ExceedSizeError } from "packages/survey-core/src/error";
    export { ILocalizableOwner, ILocalizableString, LocalizableString, LocalizableStrings } from "packages/survey-core/src/localizablestring";
    export { HtmlConditionItem, UrlConditionItem } from "packages/survey-core/src/expressionItems";
    export { ChoicesRestful, ChoicesRestfull } from "packages/survey-core/src/choicesRestful";
    export { FunctionFactory, registerFunction } from "packages/survey-core/src/functionsfactory";
    export { ConditionRunner, ExpressionRunner, IExpresionExecutor, ExpressionExecutor } from "packages/survey-core/src/conditions";
    export { Operand, Const, BinaryOperand, Variable, FunctionOperand, ArrayOperand, UnaryOperand } from "packages/survey-core/src/expressions/expressions";
    export { ConditionsParser } from "packages/survey-core/src/conditionsParser";
    export { ProcessValue } from "packages/survey-core/src/conditionProcessValue";
    export { JsonError, JsonIncorrectTypeError, JsonMetadata, JsonMetadataClass, JsonMissingTypeError, JsonMissingTypeErrorBase, JsonObject, IJsonPropertyInfo, JsonObjectProperty, JsonRequiredPropertyError, JsonUnknownPropertyError, Serializer, property, propertyArray } from "packages/survey-core/src/jsonobject";
    export { IMatrixDropdownData, MatrixDropdownCell, MatrixDropdownRowModelBase, QuestionMatrixDropdownModelBase } from "packages/survey-core/src/question_matrixdropdownbase";
    export { MatrixDropdownColumn, matrixDropdownColumnTypes } from "packages/survey-core/src/question_matrixdropdowncolumn";
    export { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedTable } from "packages/survey-core/src/question_matrixdropdownrendered";
    export { MatrixDropdownRowModel, QuestionMatrixDropdownModel } from "packages/survey-core/src/question_matrixdropdown";
    export { MatrixDynamicRowModel, QuestionMatrixDynamicModel } from "packages/survey-core/src/question_matrixdynamic";
    export { MatrixRowModel, MatrixCells, QuestionMatrixModel, IMatrixData } from "packages/survey-core/src/question_matrix";
    export { QuestionMatrixBaseModel } from "packages/survey-core/src/martixBase";
    export { MultipleTextItemModel, MultipleTextCell, MultipleTextErrorCell, MutlipleTextErrorRow, MutlipleTextRow, QuestionMultipleTextModel, MultipleTextEditorModel } from "packages/survey-core/src/question_multipletext";
    export { PanelModel, PanelModelBase, QuestionRowModel } from "packages/survey-core/src/panel";
    export { FlowPanelModel } from "packages/survey-core/src/flowpanel";
    export { PageModel } from "packages/survey-core/src/page";
    export * from "packages/survey-core/src/template-renderer";
    export { DefaultTitleModel } from "packages/survey-core/src/defaultTitle";
    export { Question } from "packages/survey-core/src/question";
    export { QuestionNonValue } from "packages/survey-core/src/questionnonvalue";
    export { QuestionEmptyModel } from "packages/survey-core/src/question_empty";
    export { QuestionCheckboxBase, QuestionSelectBase } from "packages/survey-core/src/question_baseselect";
    export { QuestionCheckboxModel } from "packages/survey-core/src/question_checkbox";
    export { QuestionTagboxModel } from "packages/survey-core/src/question_tagbox";
    export { QuestionRankingModel } from "packages/survey-core/src/question_ranking";
    export { QuestionCommentModel } from "packages/survey-core/src/question_comment";
    export { QuestionDropdownModel } from "packages/survey-core/src/question_dropdown";
    export { QuestionFactory, ElementFactory } from "packages/survey-core/src/questionfactory";
    export { QuestionFileModel, QuestionFilePage } from "packages/survey-core/src/question_file";
    export { QuestionHtmlModel } from "packages/survey-core/src/question_html";
    export { QuestionRadiogroupModel } from "packages/survey-core/src/question_radiogroup";
    export { QuestionRatingModel, RenderedRatingItem } from "packages/survey-core/src/question_rating";
    export { QuestionExpressionModel } from "packages/survey-core/src/question_expression";
    export { QuestionTextBase, CharacterCounter } from "packages/survey-core/src/question_textbase";
    export { QuestionTextModel } from "packages/survey-core/src/question_text";
    export { QuestionBooleanModel } from "packages/survey-core/src/question_boolean";
    export { QuestionImagePickerModel, ImageItemValue } from "packages/survey-core/src/question_imagepicker";
    export { QuestionImageModel } from "packages/survey-core/src/question_image";
    export { QuestionSignaturePadModel } from "packages/survey-core/src/question_signaturepad";
    export { QuestionPanelDynamicModel, QuestionPanelDynamicItem } from "packages/survey-core/src/question_paneldynamic";
    export { SurveyTimer } from "packages/survey-core/src/surveytimer";
    export { SurveyTimerModel } from "packages/survey-core/src/surveyTimerModel";
    export * from "packages/survey-core/src/surveyToc";
    export { SurveyProgressModel } from "packages/survey-core/src/surveyProgress";
    export { ProgressButtons, ProgressButtonsResponsivityManager, IProgressButtonsViewModel } from "packages/survey-core/src/progress-buttons";
    export * from "packages/survey-core/src/themes";
    export { SurveyModel } from "packages/survey-core/src/survey";
    export * from "packages/survey-core/src/survey-events-api";
    export { SurveyTrigger, SurveyTriggerComplete, SurveyTriggerSetValue, SurveyTriggerVisible, SurveyTriggerCopyValue, SurveyTriggerRunExpression, SurveyTriggerSkip, Trigger } from "packages/survey-core/src/trigger";
    export { PopupSurveyModel, SurveyWindowModel } from "packages/survey-core/src/popup-survey";
    export { TextPreProcessor } from "packages/survey-core/src/textPreProcessor";
    export { Notifier } from "packages/survey-core/src/notifier";
    export { Cover, CoverCell } from "packages/survey-core/src/header";
    export { dxSurveyService } from "packages/survey-core/src/dxSurveyService";
    export { englishStrings } from "packages/survey-core/src/localization/english";
    export { surveyLocalization, surveyStrings, getLocaleString, getLocaleStrings, setupLocale } from "packages/survey-core/src/surveyStrings";
    export { QuestionCustomWidget, CustomWidgetCollection, } from "packages/survey-core/src/questionCustomWidgets";
    export { QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON, ComponentCollection, ICustomQuestionTypeConfiguration } from "packages/survey-core/src/question_custom";
    export { ListModel } from "packages/survey-core/src/list";
    export { MultiSelectListModel } from "packages/survey-core/src/multiSelectListModel";
    export { PopupModel, createDialogOptions, IDialogOptions } from "packages/survey-core/src/popup";
    export { PopupBaseViewModel } from "packages/survey-core/src/popup-view-model";
    export { PopupDropdownViewModel } from "packages/survey-core/src/popup-dropdown-view-model";
    export { PopupModalViewModel } from "packages/survey-core/src/popup-modal-view-model";
    export { createPopupViewModel, createPopupModalViewModel } from "packages/survey-core/src/popup-utils";
    export { DropdownListModel } from "packages/survey-core/src/dropdownListModel";
    export { DropdownMultiSelectListModel } from "packages/survey-core/src/dropdownMultiSelectListModel";
    export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "packages/survey-core/src/question_buttongroup";
    export { IsMobile, IsTouch, _setIsTouch } from "packages/survey-core/src/utils/devices";
    export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, prepareElementForVerticalAnimation, cleanHtmlElementAfterAnimation, classesToSelector, IAttachKey2clickOptions, renamedIcons, getIconNameFromProxy } from "packages/survey-core/src/utils/utils";
    export { InputMaskBase } from "packages/survey-core/src/mask/mask_base";
    export { InputMaskPattern } from "packages/survey-core/src/mask/mask_pattern";
    export { InputMaskNumeric } from "packages/survey-core/src/mask/mask_numeric";
    export { InputMaskDateTime } from "packages/survey-core/src/mask/mask_datetime";
    export { InputMaskCurrency } from "packages/survey-core/src/mask/mask_currency";
    export * from "packages/survey-core/src/utils/cssClassBuilder";
    export * from "packages/survey-core/src/utils/text-area";
    export { surveyCss, defaultV2Css, defaultV2ThemeName } from "packages/survey-core/src/defaultCss/defaultV2Css";
    export { DragDropCore } from "packages/survey-core/src/dragdrop/core";
    export { DragDropChoices } from "packages/survey-core/src/dragdrop/choices";
    export { DragDropRankingSelectToRank } from "packages/survey-core/src/dragdrop/ranking-select-to-rank";
}
declare module "src/stylesmanager" {
    import { Logger } from "packages/survey-core/src/utils/utils";
    export const modernThemeColors: {
        [key: string]: string;
    };
    export const defaultThemeColors: {
        [key: string]: string;
    };
    export const orangeThemeColors: {
        [key: string]: string;
    };
    export const darkblueThemeColors: {
        [key: string]: string;
    };
    export const darkroseThemeColors: {
        [key: string]: string;
    };
    export const stoneThemeColors: {
        [key: string]: string;
    };
    export const winterThemeColors: {
        [key: string]: string;
    };
    export const winterstoneThemeColors: {
        [key: string]: string;
    };
    export class StylesManager {
        private static SurveyJSStylesSheetId;
        static Logger: Logger;
        static Styles: {
            [key: string]: string;
        };
        static Media: {
            [key: string]: {
                media: string;
                style: string;
            };
        };
        static ThemeColors: {
            [key: string]: {
                [key: string]: string;
            };
        };
        static ThemeCss: {
            [key: string]: {
                [key: string]: string;
            };
        };
        static ThemeSelector: {
            [key: string]: string;
        };
        static autoApplyTheme(): void;
        static getAvailableThemes(): Array<any>;
        static getIncludedThemeCss(): Array<any>;
        static findSheet(styleSheetId: string): any;
        static createSheet(styleSheetId: string): any;
        static applyTheme(themeName?: string, themeSelector?: string): void;
        static Enabled: boolean;
        constructor();
        static insertStylesRulesIntoDocument(): any;
    }
}
declare module "src/entries/chunks/model" {
    export * from "packages/survey-core/entries/chunks/model";
    export { StylesManager } from "src/stylesmanager";
}
declare module "src/defaultCss/cssstandard" {
    export var defaultStandardCss: {
        root: string;
        rootProgress: string;
        container: string;
        header: string;
        bodyContainer: string;
        body: string;
        bodyEmpty: string;
        footer: string;
        title: string;
        description: string;
        logo: string;
        logoImage: string;
        headerText: string;
        navigationButton: string;
        completedPage: string;
        navigation: {
            complete: string;
            prev: string;
            next: string;
            start: string;
            preview: string;
            edit: string;
        };
        progress: string;
        progressBar: string;
        progressTextInBar: string;
        progressButtonsContainerCenter: string;
        progressButtonsContainer: string;
        progressButtonsImageButtonLeft: string;
        progressButtonsImageButtonRight: string;
        progressButtonsImageButtonHidden: string;
        progressButtonsListContainer: string;
        progressButtonsList: string;
        progressButtonsListElementPassed: string;
        progressButtonsListElementCurrent: string;
        progressButtonsListElementNonClickable: string;
        progressButtonsPageTitle: string;
        progressButtonsPageDescription: string;
        page: {
            root: string;
            title: string;
            description: string;
        };
        pageTitle: string;
        pageDescription: string;
        row: string;
        question: {
            mainRoot: string;
            flowRoot: string;
            header: string;
            headerLeft: string;
            content: string;
            contentLeft: string;
            titleLeftRoot: string;
            requiredText: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            number: string;
            description: string;
            comment: string;
            required: string;
            titleRequired: string;
            hasError: string;
            indent: number;
            footer: string;
            formGroup: string;
            asCell: string;
            icon: string;
            iconExpanded: string;
            disabled: string;
        };
        panel: {
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleOnError: string;
            icon: string;
            iconExpanded: string;
            description: string;
            container: string;
            footer: string;
            number: string;
            requiredText: string;
        };
        error: {
            root: string;
            icon: string;
            item: string;
            locationTop: string;
            locationBottom: string;
        };
        boolean: {
            root: string;
            rootRadio: string;
            item: string;
            control: string;
            itemChecked: string;
            itemIndeterminate: string;
            itemDisabled: string;
            switch: string;
            slider: string;
            label: string;
            disabledLabel: string;
            sliderGhost: string;
            rootCheckbox: string;
            checkboxItem: string;
            checkboxItemChecked: string;
            controlCheckbox: string;
            checkboxControlLabel: string;
            checkboxItemIndeterminate: string;
            checkboxItemDisabled: string;
            checkboxMaterialDecorator: string;
            checkboxItemDecorator: string;
        };
        checkbox: {
            root: string;
            item: string;
            itemSelectAll: string;
            itemNone: string;
            itemChecked: string;
            itemInline: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            itemDecorator: string;
            controlLabel: string;
            other: string;
            column: string;
        };
        ranking: {
            root: string;
            rootMobileMod: string;
            rootDragMod: string;
            rootDisabled: string;
            rootDragHandleAreaIcon: string;
            rootSelectToRankMod: string;
            rootSelectToRankAlignVertical: string;
            rootSelectToRankAlignHorizontal: string;
            rootSelectToRankSwapAreas: string;
            item: string;
            itemContent: string;
            itemIndex: string;
            itemIndexEmptyMode: string;
            controlLabel: string;
            itemGhostNode: string;
            itemIconContainer: string;
            itemIcon: string;
            itemIconHoverMod: string;
            itemIconFocusMod: string;
            itemGhostMod: string;
            itemDragMod: string;
            container: string;
            containerEmptyMode: string;
            containerFromMode: string;
            containerToMode: string;
            containerPlaceholder: string;
            containersDivider: string;
        };
        comment: {
            remainingCharacterCounter: string;
        };
        dropdown: {
            root: string;
            popup: string;
            control: string;
            controlInputFieldComponent: string;
            selectWrapper: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            controlValue: string;
            filterStringInput: string;
            hintPrefix: string;
            hintSuffix: string;
        };
        html: {
            root: string;
        };
        image: {
            root: string;
            image: string;
            noImage: string;
            noImageSvgIconId: string;
        };
        matrix: {
            root: string;
            label: string;
            itemChecked: string;
            itemDecorator: string;
            cell: string;
            cellText: string;
            cellTextSelected: string;
            cellLabel: string;
            cellResponsiveTitle: string;
        };
        matrixdropdown: {
            root: string;
            cell: string;
            cellResponsiveTitle: string;
            headerCell: string;
            row: string;
            rowAdditional: string;
            rowTextCell: string;
            detailRow: string;
            detailRowText: string;
            detailCell: string;
            choiceCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
        };
        matrixdynamic: {
            root: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            iconAdd: string;
            iconRemove: string;
            iconDrag: string;
            cell: string;
            cellResponsiveTitle: string;
            headerCell: string;
            row: string;
            detailRow: string;
            detailCell: string;
            choiceCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
            emptyRowsSection: string;
            emptyRowsText: string;
            emptyRowsButton: string;
            ghostRow: string;
            draggedRow: string;
        };
        paneldynamic: {
            root: string;
            title: string;
            header: string;
            headerTab: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            buttonRemoveRight: string;
            buttonPrev: string;
            buttonPrevDisabled: string;
            buttonNextDisabled: string;
            buttonNext: string;
            progressContainer: string;
            progress: string;
            progressBar: string;
            progressText: string;
            panelWrapper: string;
            panelWrapperInRow: string;
            footer: string;
            progressBtnIcon: string;
        };
        multipletext: {
            root: string;
            itemTitle: string;
            item: string;
            row: string;
            itemLabel: string;
            itemValue: string;
        };
        radiogroup: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            itemDecorator: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            controlLabel: string;
            other: string;
            clearButton: string;
            column: string;
        };
        buttongroup: {
            root: string;
            item: string;
            itemIcon: string;
            itemDecorator: string;
            itemCaption: string;
            itemHover: string;
            itemSelected: string;
            itemDisabled: string;
            itemControl: string;
        };
        imagepicker: {
            root: string;
            item: string;
            itemChecked: string;
            label: string;
            itemControl: string;
            image: string;
            itemInline: string;
            itemText: string;
            clearButton: string;
            column: string;
            itemNoImage: string;
            itemNoImageSvgIcon: string;
            itemNoImageSvgIconId: string;
        };
        rating: {
            root: string;
            item: string;
            itemFixedSize: string;
            selected: string;
            minText: string;
            itemText: string;
            maxText: string;
            itemStar: string;
            itemStarSelected: string;
            itemSmiley: string;
            itemSmileySelected: string;
        };
        text: {
            root: string;
            remainingCharacterCounter: string;
        };
        expression: string;
        file: {
            root: string;
            placeholderInput: string;
            previewItem: string;
            removeButton: string;
            fileInput: string;
            removeFile: string;
            fileDecorator: string;
            fileSign: string;
            chooseFile: string;
            noFileChosen: string;
            dragAreaPlaceholder: string;
            fileList: string;
        };
        signaturepad: {
            root: string;
            controls: string;
            placeholder: string;
            canvas: string;
            backgroundImage: string;
            clearButton: string;
        };
        saveData: {
            root: string;
            rootWithButtons: string;
            info: string;
            error: string;
            success: string;
            button: string;
            shown: string;
        };
        window: {
            root: string;
            rootCollapsedMod: string;
            rootFullScreenMode: string;
            rootContent: string;
            body: string;
            header: {
                root: string;
                titleCollapsed: string;
                buttonsContainer: string;
                button: string;
                buttonExpanded: string;
                buttonCollapsed: string;
                collapseButton: string;
                closeButton: string;
                fullScreenButton: string;
            };
        };
        variables: {
            mobileWidth: string;
            themeMark: string;
        };
        tagbox: {
            root: string;
            popup: string;
            small: string;
            selectWrapper: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            cleanItemButton: string;
            cleanItemButtonSvg: string;
            cleanItemButtonIconId: string;
            control: string;
            controlValue: string;
            controlEmpty: string;
            placeholderInput: string;
            filterStringInput: string;
            hint: string;
            hintPrefix: string;
            hintSuffix: string;
            hintSuffixWrapper: string;
        };
    };
}
declare module "src/defaultCss/cssmodern" {
    export var modernCss: {
        root: string;
        rootProgress: string;
        timerRoot: string;
        container: string;
        header: string;
        headerClose: string;
        bodyContainer: string;
        body: string;
        bodyEmpty: string;
        footer: string;
        title: string;
        description: string;
        logo: string;
        logoImage: string;
        headerText: string;
        navigationButton: string;
        completedPage: string;
        navigation: {
            complete: string;
            prev: string;
            next: string;
            start: string;
            preview: string;
            edit: string;
        };
        panel: {
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleOnError: string;
            description: string;
            container: string;
            content: string;
            icon: string;
            iconExpanded: string;
            footer: string;
            requiredText: string;
            number: string;
        };
        paneldynamic: {
            root: string;
            navigation: string;
            title: string;
            button: string;
            buttonRemove: string;
            buttonRemoveRight: string;
            buttonAdd: string;
            progressTop: string;
            progressBottom: string;
            buttonPrev: string;
            buttonNext: string;
            buttonPrevDisabled: string;
            buttonNextDisabled: string;
            progressContainer: string;
            progress: string;
            progressBar: string;
            progressText: string;
            separator: string;
            panelWrapper: string;
            panelWrapperInRow: string;
            progressBtnIcon: string;
            footer: string;
        };
        progress: string;
        progressBar: string;
        progressText: string;
        progressTextInBar: string;
        progressButtonsContainerCenter: string;
        progressButtonsContainer: string;
        progressButtonsImageButtonLeft: string;
        progressButtonsImageButtonRight: string;
        progressButtonsImageButtonHidden: string;
        progressButtonsListContainer: string;
        progressButtonsList: string;
        progressButtonsListElementPassed: string;
        progressButtonsListElementCurrent: string;
        progressButtonsListElementNonClickable: string;
        progressButtonsPageTitle: string;
        progressButtonsPageDescription: string;
        page: {
            root: string;
            title: string;
            number: string;
            description: string;
        };
        pageTitle: string;
        pageDescription: string;
        row: string;
        question: {
            mainRoot: string;
            flowRoot: string;
            asCell: string;
            header: string;
            headerLeft: string;
            headerTop: string;
            headerBottom: string;
            content: string;
            contentLeft: string;
            titleLeftRoot: string;
            answered: string;
            titleOnAnswer: string;
            titleOnError: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            icon: string;
            iconExpanded: string;
            requiredText: string;
            number: string;
            description: string;
            descriptionUnderInput: string;
            comment: string;
            required: string;
            titleRequired: string;
            indent: number;
            footer: string;
            formGroup: string;
            hasError: string;
            disabled: string;
        };
        image: {
            root: string;
            image: string;
        };
        error: {
            root: string;
            icon: string;
            item: string;
            locationTop: string;
            locationBottom: string;
        };
        checkbox: {
            root: string;
            item: string;
            itemSelectAll: string;
            itemNone: string;
            itemDisabled: string;
            itemChecked: string;
            itemHover: string;
            itemInline: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            itemDecorator: string;
            itemSvgIconId: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            column: string;
        };
        ranking: {
            root: string;
            rootMobileMod: string;
            rootDragMod: string;
            rootDisabled: string;
            rootDragHandleAreaIcon: string;
            rootSelectToRankMod: string;
            rootSelectToRankAlignVertical: string;
            rootSelectToRankAlignHorizontal: string;
            rootSelectToRankSwapAreas: string;
            item: string;
            itemContent: string;
            itemIndex: string;
            itemIndexEmptyMode: string;
            controlLabel: string;
            itemGhostNode: string;
            itemIconContainer: string;
            itemIcon: string;
            itemIconHoverMod: string;
            itemIconFocusMod: string;
            itemGhostMod: string;
            itemDragMod: string;
            container: string;
            containerEmptyMode: string;
            containerFromMode: string;
            containerToMode: string;
            containerPlaceholder: string;
            containersDivider: string;
        };
        radiogroup: {
            root: string;
            item: string;
            itemInline: string;
            label: string;
            labelChecked: string;
            itemDisabled: string;
            itemChecked: string;
            itemHover: string;
            itemControl: string;
            itemDecorator: string;
            itemSvgIconId: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            clearButton: string;
            column: string;
        };
        buttongroup: {
            root: string;
            item: string;
            itemIcon: string;
            itemDecorator: string;
            itemCaption: string;
            itemSelected: string;
            itemHover: string;
            itemDisabled: string;
            itemControl: string;
        };
        boolean: {
            root: string;
            rootRadio: string;
            small: string;
            item: string;
            control: string;
            itemChecked: string;
            itemIndeterminate: string;
            itemDisabled: string;
            switch: string;
            slider: string;
            label: string;
            disabledLabel: string;
            sliderGhost: string;
            rootCheckbox: string;
            checkboxItem: string;
            checkboxItemChecked: string;
            controlCheckbox: string;
            checkboxControlLabel: string;
            checkboxItemIndeterminate: string;
            checkboxItemDisabled: string;
            checkboxMaterialDecorator: string;
            checkboxItemDecorator: string;
            indeterminatePath: string;
            svgIconCheckedId: string;
            svgIconUncheckedId: string;
            svgIconIndId: string;
        };
        text: {
            root: string;
            small: string;
            remainingCharacterCounter: string;
            onError: string;
        };
        multipletext: {
            root: string;
            item: string;
            itemLabel: string;
            itemTitle: string;
            row: string;
            cell: string;
        };
        dropdown: {
            root: string;
            popup: string;
            small: string;
            control: string;
            selectWrapper: string;
            other: string;
            onError: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
            controlValue: string;
            controlInputFieldComponent: string;
            hintPrefix: string;
            hintSuffix: string;
        };
        tagbox: {
            root: string;
            popup: string;
            small: string;
            selectWrapper: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            cleanItemButton: string;
            cleanItemButtonSvg: string;
            cleanItemButtonIconId: string;
            control: string;
            controlValue: string;
            controlEmpty: string;
            placeholderInput: string;
            filterStringInput: string;
        };
        imagepicker: {
            root: string;
            column: string;
            item: string;
            itemInline: string;
            itemChecked: string;
            itemDisabled: string;
            itemHover: string;
            label: string;
            itemControl: string;
            image: string;
            itemText: string;
            clearButton: string;
            other: string;
        };
        matrix: {
            tableWrapper: string;
            root: string;
            rowError: string;
            cell: string;
            headerCell: string;
            label: string;
            itemValue: string;
            itemChecked: string;
            itemDisabled: string;
            itemHover: string;
            materialDecorator: string;
            itemDecorator: string;
            cellText: string;
            cellTextSelected: string;
            cellTextDisabled: string;
            cellResponsiveTitle: string;
            itemSvgIconId: string;
        };
        matrixdropdown: {
            root: string;
            cell: string;
            cellResponsiveTitle: string;
            headerCell: string;
            row: string;
            rowTextCell: string;
            rowAdditional: string;
            detailRow: string;
            detailRowText: string;
            detailCell: string;
            choiceCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
        };
        matrixdynamic: {
            root: string;
            cell: string;
            cellResponsiveTitle: string;
            headerCell: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            iconAdd: string;
            iconRemove: string;
            iconDrag: string;
            row: string;
            detailRow: string;
            detailCell: string;
            choiceCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
            emptyRowsSection: string;
            emptyRowsText: string;
            emptyRowsButton: string;
            ghostRow: string;
            draggedRow: string;
        };
        rating: {
            root: string;
            item: string;
            selected: string;
            minText: string;
            itemText: string;
            maxText: string;
            itemDisabled: string;
            filterStringInput: string;
            control: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            controlValue: string;
            controlInputFieldComponent: string;
            itemSmiley: string;
            itemStar: string;
            itemSmileySelected: string;
            itemStarSelected: string;
        };
        comment: {
            root: string;
            small: string;
            remainingCharacterCounter: string;
        };
        expression: string;
        file: {
            root: string;
            other: string;
            placeholderInput: string;
            previewItem: string;
            fileSignBottom: string;
            fileDecorator: string;
            fileInput: string;
            noFileChosen: string;
            chooseFile: string;
            controlDisabled: string;
            removeButton: string;
            removeButtonBottom: string;
            removeFile: string;
            removeFileSvg: string;
            removeFileSvgIconId: string;
            wrapper: string;
            dragAreaPlaceholder: string;
            fileList: string;
        };
        signaturepad: {
            root: string;
            small: string;
            controls: string;
            placeholder: string;
            canvas: string;
            backgroundImage: string;
            clearButton: string;
        };
        saveData: {
            root: string;
            rootWithButtons: string;
            info: string;
            error: string;
            success: string;
            button: string;
            shown: string;
        };
        window: {
            root: string;
            rootCollapsedMod: string;
            rootFullScreenMode: string;
            rootContent: string;
            body: string;
            header: {
                root: string;
                titleCollapsed: string;
                buttonsContainer: string;
                button: string;
                buttonExpanded: string;
                buttonCollapsed: string;
                collapseButton: string;
                closeButton: string;
                fullScreenButton: string;
            };
        };
        variables: {
            mobileWidth: string;
            themeMark: string;
        };
    };
}
declare module "packages/survey-core/src/svgbundle" {
    import { EventBase } from "packages/survey-core/src/base";
    interface SvgIconData {
        [key: string]: string;
    }
    export class SvgIconRegistry {
        icons: SvgIconData;
        private iconPrefix;
        private processId;
        registerIconFromSymbol(iconId: string, iconSymbolSvg: string): void;
        registerIconFromSvgViaElement(iconId: string, iconSvg: string, iconPrefix?: string): void;
        registerIconFromSvg(iconId: string, iconSvg: string, iconPrefix?: string): boolean;
        registerIconsFromFolder(r: any): void;
        registerIcons(icons: SvgIconData): void;
        iconsRenderedHtml(): string;
        updateMarkup(): void;
        onIconsChanged: EventBase<SvgIconRegistry, {}>;
    }
    export const SvgRegistry: SvgIconRegistry;
    export const SvgThemeSets: {
        [index: string]: SvgIconData;
    };
    export function addIconsToThemeSet(name: string, iconsData: SvgIconData): void;
}
declare module "packages/survey-core/entries/chunks/core-wo-model" {
    export * from "packages/survey-core/entries/chunks/model";
    export * from "packages/survey-core/src/svgbundle";
    export * from "packages/survey-core/src/rendererFactory";
    export * from "packages/survey-core/src/utils/responsivity-manager";
    export { unwrap, getOriginalEvent, getElement, activateLazyRenderingChecks } from "packages/survey-core/src/utils/utils";
    export * from "packages/survey-core/src/actions/action";
    export * from "packages/survey-core/src/utils/animation";
    export * from "packages/survey-core/src/actions/adaptive-container";
    export * from "packages/survey-core/src/actions/container";
    export * from "packages/survey-core/src/utils/dragOrClickHelper";
}
declare module "src/entries/core-wo-model" {
    export * from "src/entries/chunks/model";
    export { defaultStandardCss } from "src/defaultCss/cssstandard";
    export { modernCss } from "src/defaultCss/cssmodern";
    export * from "packages/survey-core/entries/chunks/core-wo-model";
}
declare module "src/plugins/themes/bootstrap-integration/cssbootstrap" {
    export var defaultCss: {
        root: string;
        container: string;
        header: string;
        body: string;
        bodyEmpty: string;
        footer: string;
        title: string;
        description: string;
        logo: string;
        logoImage: string;
        headerText: string;
        navigationButton: string;
        completedPage: string;
        navigation: {
            complete: string;
            prev: string;
            next: string;
            start: string;
            preview: string;
            edit: string;
        };
        progress: string;
        progressBar: string;
        progressTextUnderBar: string;
        progressTextInBar: string;
        progressButtonsContainerCenter: string;
        progressButtonsContainer: string;
        progressButtonsImageButtonLeft: string;
        progressButtonsImageButtonRight: string;
        progressButtonsImageButtonHidden: string;
        progressButtonsListContainer: string;
        progressButtonsList: string;
        progressButtonsListElementPassed: string;
        progressButtonsListElementCurrent: string;
        progressButtonsListElementNonClickable: string;
        progressButtonsPageTitle: string;
        progressButtonsPageDescription: string;
        page: {
            root: string;
            title: string;
            description: string;
        };
        pageTitle: string;
        pageDescription: string;
        row: string;
        question: {
            mainRoot: string;
            flowRoot: string;
            header: string;
            headerLeft: string;
            content: string;
            contentLeft: string;
            titleLeftRoot: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            number: string;
            description: string;
            descriptionUnderInput: string;
            requiredText: string;
            comment: string;
            required: string;
            titleRequired: string;
            hasError: string;
            indent: number;
            formGroup: string;
            disabled: string;
        };
        panel: {
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleOnError: string;
            icon: string;
            iconExpanded: string;
            description: string;
            container: string;
            footer: string;
            number: string;
            requiredText: string;
        };
        error: {
            root: string;
            icon: string;
            item: string;
            locationTop: string;
            locationBottom: string;
        };
        boolean: {
            root: string;
            rootRadio: string;
            item: string;
            control: string;
            controlCheckbox: string;
            itemChecked: string;
            itemIndeterminate: string;
            itemDisabled: string;
            switch: string;
            slider: string;
            label: string;
            disabledLabel: string;
            sliderGhost: string;
            materialDecorator: string;
            itemDecorator: string;
            checkedPath: string;
            uncheckedPath: string;
            indeterminatePath: string;
        };
        checkbox: {
            root: string;
            item: string;
            itemChecked: string;
            itemSelectAll: string;
            itemNone: string;
            itemInline: string;
            itemControl: string;
            itemDecorator: string;
            label: string;
            labelChecked: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            column: string;
        };
        ranking: {
            root: string;
            rootMobileMod: string;
            rootDragMod: string;
            rootDisabled: string;
            rootDragHandleAreaIcon: string;
            rootSelectToRankMod: string;
            rootSelectToRankAlignVertical: string;
            rootSelectToRankAlignHorizontal: string;
            item: string;
            itemContent: string;
            itemIndex: string;
            itemIndexEmptyMode: string;
            controlLabel: string;
            itemGhostNode: string;
            itemIconContainer: string;
            itemIcon: string;
            itemIconHoverMod: string;
            itemIconFocusMod: string;
            itemGhostMod: string;
            itemDragMod: string;
            container: string;
            containerEmptyMode: string;
            containerFromMode: string;
            containerToMode: string;
            containerPlaceholder: string;
            containersDivider: string;
        };
        comment: string;
        dropdown: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
            hintPrefix: string;
            hintSuffix: string;
        };
        tagbox: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
        };
        html: {
            root: string;
        };
        image: {
            root: string;
            image: string;
        };
        matrix: {
            root: string;
            label: string;
            itemChecked: string;
            itemDecorator: string;
            cellText: string;
            cellTextSelected: string;
            cellLabel: string;
            cellResponsiveTitle: string;
        };
        matrixdropdown: {
            root: string;
            cell: string;
            headerCell: string;
            row: string;
            rowAdditional: string;
            detailRow: string;
            detailRowText: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
        };
        matrixdynamic: {
            root: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            iconAdd: string;
            iconRemove: string;
            iconDrag: string;
            headerCell: string;
            row: string;
            detailRow: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
            emptyRowsSection: string;
            emptyRowsText: string;
            emptyRowsButton: string;
            ghostRow: string;
            draggedRow: string;
        };
        paneldynamic: {
            root: string;
            navigation: string;
            progressTop: string;
            progressBottom: string;
            title: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            buttonRemoveRight: string;
            buttonPrev: string;
            buttonNext: string;
            buttonPrevDisabled: string;
            buttonNextDisabled: string;
            progressContainer: string;
            progress: string;
            progressBar: string;
            progressText: string;
            panelWrapper: string;
            panelWrapperInRow: string;
            footer: string;
            progressBtnIcon: string;
        };
        multipletext: {
            root: string;
            itemTitle: string;
            item: string;
            itemLabel: string;
            row: string;
            itemValue: string;
        };
        radiogroup: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            itemDecorator: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            clearButton: string;
            column: string;
        };
        buttongroup: {
            root: string;
            item: string;
            itemIcon: string;
            itemDecorator: string;
            itemCaption: string;
            itemHover: string;
            itemSelected: string;
            itemDisabled: string;
            itemControl: string;
        };
        imagepicker: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            label: string;
            itemControl: string;
            image: string;
            itemText: string;
            clearButton: string;
        };
        rating: {
            root: string;
            item: string;
            selected: string;
            minText: string;
            itemText: string;
            maxText: string;
            disabled: string;
        };
        text: string;
        expression: string;
        file: {
            root: string;
            placeholderInput: string;
            preview: string;
            removeButton: string;
            fileInput: string;
            removeFile: string;
            fileDecorator: string;
            fileSign: string;
            removeButtonBottom: string;
            dragAreaPlaceholder: string;
            fileList: string;
        };
        signaturepad: {
            root: string;
            controls: string;
            placeholder: string;
            canvas: string;
            backgroundImage: string;
            clearButton: string;
        };
        saveData: {
            root: string;
            info: string;
            error: string;
            success: string;
            button: string;
        };
        window: {
            root: string;
            body: string;
            header: {
                root: string;
                title: string;
                button: string;
                buttonExpanded: string;
                buttonCollapsed: string;
            };
        };
    };
}
declare module "src/plugins/themes/bootstrap-material-integration/cssbootstrapmaterial" {
    export var defaultCss: {
        root: string;
        container: string;
        header: string;
        body: string;
        bodyEmpty: string;
        footer: string;
        title: string;
        description: string;
        logo: string;
        logoImage: string;
        headerText: string;
        navigationButton: string;
        completedPage: string;
        navigation: {
            complete: string;
            prev: string;
            next: string;
            start: string;
            preview: string;
            edit: string;
        };
        progress: string;
        progressBar: string;
        progressTextUnderBar: string;
        progressTextInBar: string;
        progressButtonsContainerCenter: string;
        progressButtonsContainer: string;
        progressButtonsImageButtonLeft: string;
        progressButtonsImageButtonRight: string;
        progressButtonsImageButtonHidden: string;
        progressButtonsListContainer: string;
        progressButtonsList: string;
        progressButtonsListElementPassed: string;
        progressButtonsListElementCurrent: string;
        progressButtonsListElementNonClickable: string;
        progressButtonsPageTitle: string;
        progressButtonsPageDescription: string;
        page: {
            root: string;
            title: string;
            description: string;
        };
        pageTitle: string;
        pageDescription: string;
        row: string;
        question: {
            mainRoot: string;
            flowRoot: string;
            header: string;
            headerLeft: string;
            content: string;
            contentLeft: string;
            titleLeftRoot: string;
            requiredText: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            number: string;
            description: string;
            descriptionUnderInput: string;
            comment: string;
            required: string;
            titleRequired: string;
            hasError: string;
            indent: number;
            formGroup: string;
            disabled: string;
        };
        panel: {
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleOnError: string;
            icon: string;
            iconExpanded: string;
            description: string;
            container: string;
            footer: string;
            number: string;
            requiredText: string;
        };
        error: {
            root: string;
            icon: string;
            item: string;
            locationTop: string;
            locationBottom: string;
        };
        boolean: {
            root: string;
            rootRadio: string;
            item: string;
            control: string;
            controlCheckbox: string;
            itemChecked: string;
            itemIndeterminate: string;
            itemDisabled: string;
            switch: string;
            slider: string;
            label: string;
            disabledLabel: string;
            sliderGhost: string;
            materialDecorator: string;
            itemDecorator: string;
            checkedPath: string;
            uncheckedPath: string;
            indeterminatePath: string;
        };
        checkbox: {
            root: string;
            item: string;
            itemChecked: string;
            itemSelectAll: string;
            itemNone: string;
            itemInline: string;
            itemDecorator: string;
            itemControl: string;
            label: string;
            labelChecked: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            column: string;
        };
        ranking: {
            root: string;
            rootMobileMod: string;
            rootDragMod: string;
            rootDisabled: string;
            rootDragHandleAreaIcon: string;
            rootSelectToRankMod: string;
            rootSelectToRankAlignVertical: string;
            rootSelectToRankAlignHorizontal: string;
            rootSelectToRankSwapAreas: string;
            item: string;
            itemContent: string;
            itemIndex: string;
            itemIndexEmptyMode: string;
            controlLabel: string;
            itemGhostNode: string;
            itemIconContainer: string;
            itemIcon: string;
            itemIconHoverMod: string;
            itemIconFocusMod: string;
            itemGhostMod: string;
            itemDragMod: string;
            container: string;
            containerEmptyMode: string;
            containerFromMode: string;
            containerToMode: string;
            containerPlaceholder: string;
            containersDivider: string;
        };
        comment: string;
        dropdown: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
        };
        tagbox: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
        };
        html: {
            root: string;
        };
        image: {
            root: string;
            image: string;
        };
        matrix: {
            root: string;
            row: string;
            label: string;
            cellText: string;
            cellTextSelected: string;
            cellLabel: string;
            itemValue: string;
            itemChecked: string;
            itemDecorator: string;
            materialDecorator: string;
            cellResponsiveTitle: string;
        };
        matrixdropdown: {
            root: string;
            itemValue: string;
            headerCell: string;
            row: string;
            rowAdditional: string;
            detailRow: string;
            detailRowText: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
        };
        matrixdynamic: {
            mainRoot: string;
            flowRoot: string;
            root: string;
            button: string;
            itemValue: string;
            buttonAdd: string;
            buttonRemove: string;
            iconAdd: string;
            iconRemove: string;
            iconDrag: string;
            headerCell: string;
            row: string;
            detailRow: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
            emptyRowsSection: string;
            emptyRowsText: string;
            emptyRowsButton: string;
            ghostRow: string;
            draggedRow: string;
        };
        paneldynamic: {
            root: string;
            navigation: string;
            progressTop: string;
            progressBottom: string;
            title: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            buttonRemoveRight: string;
            buttonPrev: string;
            buttonNext: string;
            buttonPrevDisabled: string;
            buttonNextDisabled: string;
            progressContainer: string;
            progress: string;
            progressBar: string;
            progressText: string;
            panelWrapper: string;
            panelWrapperInRow: string;
            progressBtnIcon: string;
            footer: string;
        };
        multipletext: {
            root: string;
            itemTitle: string;
            item: string;
            itemLabel: string;
            row: string;
            itemValue: string;
        };
        radiogroup: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            itemDecorator: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            clearButton: string;
            column: string;
        };
        buttongroup: {
            root: string;
            item: string;
            itemIcon: string;
            itemDecorator: string;
            itemCaption: string;
            itemSelected: string;
            itemHover: string;
            itemDisabled: string;
            itemControl: string;
        };
        imagepicker: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            label: string;
            itemControl: string;
            image: string;
            itemText: string;
            clearButton: string;
        };
        rating: {
            root: string;
            item: string;
            selected: string;
            minText: string;
            itemText: string;
            maxText: string;
            disabled: string;
        };
        text: string;
        expression: string;
        file: {
            root: string;
            placeholderInput: string;
            preview: string;
            removeButton: string;
            fileInput: string;
            fileSign: string;
            removeFile: string;
            fileDecorator: string;
            removeButtonBottom: string;
            dragAreaPlaceholder: string;
            fileList: string;
        };
        signaturepad: {
            root: string;
            controls: string;
            placeholder: string;
            canvas: string;
            backgroundImage: string;
            clearButton: string;
        };
        saveData: {
            root: string;
            info: string;
            error: string;
            success: string;
            button: string;
        };
        window: {
            root: string;
            body: string;
            header: {
                root: string;
                title: string;
                button: string;
                buttonExpanded: string;
                buttonCollapsed: string;
            };
        };
    };
}
declare module "src/entries/core" {
    export * from "src/entries/core-wo-model";
    export { SurveyModel as Model } from "packages/survey-core/src/survey";
}
declare module "src/plugins/themes/common-theme-settings" {
    export function setMediaStyles(): void;
    export function setStyles(): void;
}
declare module "src/plugins/themes/bootstrap-integration/theme-settings" {
    export const bootstrapThemeName = "bootstrap";
    export const bootstrapThemeColors: {
        [key: string]: string;
    };
    export const bootstrapThemeCssRules: {
        ".sv_main .sv_q_imgsel.checked label>div": string;
        ".sv_main .sv_p_description": string;
        ".sv_main .sv_qstn_error_bottom": string;
        ".sv_main .progress": string;
        ".sv_main .progress-bar": string;
        ".sv_main .table>tbody>tr>td": string;
        ".sv_main f-panel .sv_qstn": string;
        ".sv_main .sv_q_image": string;
        ".sv_main .sv_row .sv_qstn:first-child:last-child": string;
        ".sv_main .sv_row .sv_p_container:first-child:last-child": string;
        ".sv_main .sv-progress": string;
        ".sv_main .sv-progress__bar": string;
        ".sv_main .sv_progress-buttons__list li:before": string;
        ".sv_main .sv_progress-buttons__list li:after": string;
        ".sv_main .sv_progress-buttons__list .sv_progress-buttons__page-title": string;
        ".sv_main .sv_progress-buttons__list .sv_progress-buttons__page-description": string;
        ".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed:before": string;
        ".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed + li:after": string;
        ".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--current:before": string;
        ".sv_main .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed.sv_progress-buttons__list-element--current:before": string;
        ".sv_main .sv-paneldynamic__prev-btn.sv-paneldynamic__prev-btn--disabled, .sv_main .sv-paneldynamic__next-btn.sv-paneldynamic__next-btn--disabled": string;
        ".sv_main .sv-paneldynamic__progress-text": string;
        ".sv_main .sv-paneldynamic__prev-btn, .sv_main .sv-paneldynamic__next-btn": string;
        ".sv_main .sv-boolean__switch": string;
        ".sv_main .sv-boolean__slider": string;
        ".sv_main .sv-boolean__label--disabled": string;
        ".sv_main .sv-boolean--disabled .sv-boolean__switch": string;
        ".sv_main .sv-boolean--disabled  .sv-boolean__slider": string;
        ".sv_main .sjs_sp_container": string;
        ".sv_main .sjs_sp_placeholder": string;
        ".sv_main .sv_matrix_detail_row": string;
        ".sv_main .sv-action-bar-item": string;
        ".sv_main .sv-action-bar-item__icon use": string;
        ".sv_main .sv-action-bar-item:hover": string;
        ".sv-skeleton-element": string;
    };
}
declare module "src/plugins/themes/bootstrap-material-integration/theme-settings" {
    export const bootstrapMaterialThemeName = "bootstrapmaterial";
    export const bootstrapMaterialThemeColors: {
        [key: string]: string;
    };
    export const bootstrapMaterialThemeCssRules: {
        ".sv_main.sv_bootstrapmaterial_css .form-group.is-focused .form-control": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_qstn": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_qstn label.sv_q_m_label": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_q_image": string;
        ".sv_main .sv_row .sv_qstn:first-child:last-child": string;
        ".sv_main .sv_row .sv_p_container:first-child:last-child": string;
        ".sv_main.sv_bootstrapmaterial_css .checkbox input[type=checkbox]:checked + .checkbox-material .check": string;
        ".sv_main.sv_bootstrapmaterial_css label.checkbox-inline input[type=checkbox]:checked + .checkbox-material .check": string;
        ".sv_main.sv_bootstrapmaterial_css .checkbox input[type=checkbox]:checked + .checkbox-material .check:before": string;
        ".sv_main.sv_bootstrapmaterial_css label.checkbox-inline input[type=checkbox]:checked + .checkbox-material .check:before": string;
        ".sv_main.sv_bootstrapmaterial_css .radio input[type=radio]:checked ~ .circle": string;
        ".sv_main.sv_bootstrapmaterial_css label.radio-inline input[type=radio]:checked ~ .circle": string;
        ".sv_main.sv_bootstrapmaterial_css .radio input[type=radio]:checked ~ .check": string;
        ".sv_main.sv_bootstrapmaterial_css label.radio-inline input[type=radio]:checked ~ .check": string;
        ".sv_main.sv_bootstrapmaterial_css .btn-default.active": string;
        ".sv_main.sv_bootstrapmaterial_css .btn-default:active": string;
        ".sv_main.sv_bootstrapmaterial_css .btn-secondary.active": string;
        ".sv_main.sv_bootstrapmaterial_css .btn-secondary:active": string;
        ".sv_main.sv_bootstrapmaterial_css .open>.dropdown-toggle.btn-default": string;
        ".sv_main.sv_bootstrapmaterial_css input[type='button'].btn-primary, .sv_main.sv_bootstrapmaterial_css button.btn-primary": string;
        ".sv_main.sv_bootstrapmaterial_css input[type='button'].btn-primary:hover, .sv_main.sv_bootstrapmaterial_css button.btn-primary:hover": string;
        ".sv_main .sv_q_imgsel.checked label>div": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_q_file_remove:hover": string;
        ".sv_main.sv_bootstrapmaterial_css .form-group input[type=file]": string;
        ".sv_main.sv_bootstrapmaterial_css .progress": string;
        ".sv_main.sv_bootstrapmaterial_css .progress-bar": string;
        ".sv_main .sv-progress": string;
        ".sv_main .sv-progress__bar": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li:before": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li:after": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list .sv_progress-buttons__page-title": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list .sv_progress-buttons__page-description": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed:before": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed + li:after": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--current:before": string;
        ".sv_main.sv_bootstrapmaterial_css .sv_progress-buttons__list li.sv_progress-buttons__list-element--passed.sv_progress-buttons__list-element--current:before": string;
        ".sv_main .sv-paneldynamic__prev-btn.sv-paneldynamic__prev-btn--disabled, .sv_main .sv-paneldynamic__next-btn.sv-paneldynamic__next-btn--disabled": string;
        ".sv_main .sv-paneldynamic__progress-text": string;
        ".sv_main .sv-paneldynamic__prev-btn, .sv_main .sv-paneldynamic__next-btn": string;
        ".sv_main .sv-boolean .checkbox-decorator": string;
        ".sv_main .sv-boolean__switch": string;
        ".sv_main .sv-boolean__slider": string;
        ".sv_main .sv-boolean__label.sv-boolean__label--disabled": string;
        ".sv_main .sv-boolean__label": string;
        ".sv_main .sv-boolean--disabled .sv-boolean__switch": string;
        ".sv_main .sv-boolean--disabled  .sv-boolean__slider": string;
        ".sv_main .sv_matrix_detail_row": string;
        ".sv_main .sjs_sp_container": string;
        ".sv_main .sjs_sp_placeholder": string;
        ".sv_main .sv-action-bar-item": string;
        ".sv_main .sv-action-bar-item__icon use": string;
        ".sv_main .sv-action-bar-item:hover": string;
        ".sv-skeleton-element": string;
    };
}
declare module "src/entries/plugins" {
    export * from "src/plugins/themes/bootstrap-integration/theme-settings";
    export * from "src/plugins/themes/bootstrap-material-integration/theme-settings";
    export var defaultBootstrapCss: {
        root: string;
        container: string;
        header: string;
        body: string;
        bodyEmpty: string;
        footer: string;
        title: string;
        description: string;
        logo: string;
        logoImage: string;
        headerText: string;
        navigationButton: string;
        completedPage: string;
        navigation: {
            complete: string;
            prev: string;
            next: string;
            start: string;
            preview: string;
            edit: string;
        };
        progress: string;
        progressBar: string;
        progressTextUnderBar: string;
        progressTextInBar: string;
        progressButtonsContainerCenter: string;
        progressButtonsContainer: string;
        progressButtonsImageButtonLeft: string;
        progressButtonsImageButtonRight: string;
        progressButtonsImageButtonHidden: string;
        progressButtonsListContainer: string;
        progressButtonsList: string;
        progressButtonsListElementPassed: string;
        progressButtonsListElementCurrent: string;
        progressButtonsListElementNonClickable: string;
        progressButtonsPageTitle: string;
        progressButtonsPageDescription: string;
        page: {
            root: string;
            title: string;
            description: string;
        };
        pageTitle: string;
        pageDescription: string;
        row: string;
        question: {
            mainRoot: string;
            flowRoot: string;
            header: string;
            headerLeft: string;
            content: string;
            contentLeft: string;
            titleLeftRoot: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            number: string;
            description: string;
            descriptionUnderInput: string;
            requiredText: string;
            comment: string;
            required: string;
            titleRequired: string;
            hasError: string;
            indent: number;
            formGroup: string;
            disabled: string;
        };
        panel: {
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleOnError: string;
            icon: string;
            iconExpanded: string;
            description: string;
            container: string;
            footer: string;
            number: string;
            requiredText: string;
        };
        error: {
            root: string;
            icon: string;
            item: string;
            locationTop: string;
            locationBottom: string;
        };
        boolean: {
            root: string;
            rootRadio: string;
            item: string;
            control: string;
            controlCheckbox: string;
            itemChecked: string;
            itemIndeterminate: string;
            itemDisabled: string;
            switch: string;
            slider: string;
            label: string;
            disabledLabel: string;
            sliderGhost: string;
            materialDecorator: string;
            itemDecorator: string;
            checkedPath: string;
            uncheckedPath: string;
            indeterminatePath: string;
        };
        checkbox: {
            root: string;
            item: string;
            itemChecked: string;
            itemSelectAll: string;
            itemNone: string;
            itemInline: string;
            itemControl: string;
            itemDecorator: string;
            label: string;
            labelChecked: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            column: string;
        };
        ranking: {
            root: string;
            rootMobileMod: string;
            rootDragMod: string;
            rootDisabled: string;
            rootDragHandleAreaIcon: string;
            rootSelectToRankMod: string;
            rootSelectToRankAlignVertical: string;
            rootSelectToRankAlignHorizontal: string;
            item: string;
            itemContent: string;
            itemIndex: string;
            itemIndexEmptyMode: string;
            controlLabel: string;
            itemGhostNode: string;
            itemIconContainer: string;
            itemIcon: string;
            itemIconHoverMod: string;
            itemIconFocusMod: string;
            itemGhostMod: string;
            itemDragMod: string;
            container: string;
            containerEmptyMode: string;
            containerFromMode: string;
            containerToMode: string;
            containerPlaceholder: string;
            containersDivider: string;
        };
        comment: string;
        dropdown: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
            hintPrefix: string;
            hintSuffix: string;
        };
        tagbox: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
        };
        html: {
            root: string;
        };
        image: {
            root: string;
            image: string;
        };
        matrix: {
            root: string;
            label: string;
            itemChecked: string;
            itemDecorator: string;
            cellText: string;
            cellTextSelected: string;
            cellLabel: string;
            cellResponsiveTitle: string;
        };
        matrixdropdown: {
            root: string;
            cell: string;
            headerCell: string;
            row: string;
            rowAdditional: string;
            detailRow: string;
            detailRowText: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
        };
        matrixdynamic: {
            root: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            iconAdd: string;
            iconRemove: string;
            iconDrag: string;
            headerCell: string;
            row: string;
            detailRow: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
            emptyRowsSection: string;
            emptyRowsText: string;
            emptyRowsButton: string;
            ghostRow: string;
            draggedRow: string;
        };
        paneldynamic: {
            root: string;
            navigation: string;
            progressTop: string;
            progressBottom: string;
            title: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            buttonRemoveRight: string;
            buttonPrev: string;
            buttonNext: string;
            buttonPrevDisabled: string;
            buttonNextDisabled: string;
            progressContainer: string;
            progress: string;
            progressBar: string;
            progressText: string;
            panelWrapper: string;
            panelWrapperInRow: string;
            footer: string;
            progressBtnIcon: string;
        };
        multipletext: {
            root: string;
            itemTitle: string;
            item: string;
            itemLabel: string;
            row: string;
            itemValue: string;
        };
        radiogroup: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            itemDecorator: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            clearButton: string;
            column: string;
        };
        buttongroup: {
            root: string;
            item: string;
            itemIcon: string;
            itemDecorator: string;
            itemCaption: string;
            itemHover: string;
            itemSelected: string;
            itemDisabled: string;
            itemControl: string;
        };
        imagepicker: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            label: string;
            itemControl: string;
            image: string;
            itemText: string;
            clearButton: string;
        };
        rating: {
            root: string;
            item: string;
            selected: string;
            minText: string;
            itemText: string;
            maxText: string;
            disabled: string;
        };
        text: string;
        expression: string;
        file: {
            root: string;
            placeholderInput: string;
            preview: string;
            removeButton: string;
            fileInput: string;
            removeFile: string;
            fileDecorator: string;
            fileSign: string;
            removeButtonBottom: string;
            dragAreaPlaceholder: string;
            fileList: string;
        };
        signaturepad: {
            root: string;
            controls: string;
            placeholder: string;
            canvas: string;
            backgroundImage: string;
            clearButton: string;
        };
        saveData: {
            root: string;
            info: string;
            error: string;
            success: string;
            button: string;
        };
        window: {
            root: string;
            body: string;
            header: {
                root: string;
                title: string;
                button: string;
                buttonExpanded: string;
                buttonCollapsed: string;
            };
        };
    };
    export var defaultBootstrapMaterialCss: {
        root: string;
        container: string;
        header: string;
        body: string;
        bodyEmpty: string;
        footer: string;
        title: string;
        description: string;
        logo: string;
        logoImage: string;
        headerText: string;
        navigationButton: string;
        completedPage: string;
        navigation: {
            complete: string;
            prev: string;
            next: string;
            start: string;
            preview: string;
            edit: string;
        };
        progress: string;
        progressBar: string;
        progressTextUnderBar: string;
        progressTextInBar: string;
        progressButtonsContainerCenter: string;
        progressButtonsContainer: string;
        progressButtonsImageButtonLeft: string;
        progressButtonsImageButtonRight: string;
        progressButtonsImageButtonHidden: string;
        progressButtonsListContainer: string;
        progressButtonsList: string;
        progressButtonsListElementPassed: string;
        progressButtonsListElementCurrent: string;
        progressButtonsListElementNonClickable: string;
        progressButtonsPageTitle: string;
        progressButtonsPageDescription: string;
        page: {
            root: string;
            title: string;
            description: string;
        };
        pageTitle: string;
        pageDescription: string;
        row: string;
        question: {
            mainRoot: string;
            flowRoot: string;
            header: string;
            headerLeft: string;
            content: string;
            contentLeft: string;
            titleLeftRoot: string;
            requiredText: string;
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            number: string;
            description: string;
            descriptionUnderInput: string;
            comment: string;
            required: string;
            titleRequired: string;
            hasError: string;
            indent: number;
            formGroup: string;
            disabled: string;
        };
        panel: {
            title: string;
            titleExpandable: string;
            titleExpandableSvg: string;
            titleExpanded: string;
            titleCollapsed: string;
            titleOnError: string;
            icon: string;
            iconExpanded: string;
            description: string;
            container: string;
            footer: string;
            number: string;
            requiredText: string;
        };
        error: {
            root: string;
            icon: string;
            item: string;
            locationTop: string;
            locationBottom: string;
        };
        boolean: {
            root: string;
            rootRadio: string;
            item: string;
            control: string;
            controlCheckbox: string;
            itemChecked: string;
            itemIndeterminate: string;
            itemDisabled: string;
            switch: string;
            slider: string;
            label: string;
            disabledLabel: string;
            sliderGhost: string;
            materialDecorator: string;
            itemDecorator: string;
            checkedPath: string;
            uncheckedPath: string;
            indeterminatePath: string;
        };
        checkbox: {
            root: string;
            item: string;
            itemChecked: string;
            itemSelectAll: string;
            itemNone: string;
            itemInline: string;
            itemDecorator: string;
            itemControl: string;
            label: string;
            labelChecked: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            column: string;
        };
        ranking: {
            root: string;
            rootMobileMod: string;
            rootDragMod: string;
            rootDisabled: string;
            rootDragHandleAreaIcon: string;
            rootSelectToRankMod: string;
            rootSelectToRankAlignVertical: string;
            rootSelectToRankAlignHorizontal: string;
            rootSelectToRankSwapAreas: string;
            item: string;
            itemContent: string;
            itemIndex: string;
            itemIndexEmptyMode: string;
            controlLabel: string;
            itemGhostNode: string;
            itemIconContainer: string;
            itemIcon: string;
            itemIconHoverMod: string;
            itemIconFocusMod: string;
            itemGhostMod: string;
            itemDragMod: string;
            container: string;
            containerEmptyMode: string;
            containerFromMode: string;
            containerToMode: string;
            containerPlaceholder: string;
            containersDivider: string;
        };
        comment: string;
        dropdown: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
        };
        tagbox: {
            root: string;
            popup: string;
            selectWrapper: string;
            control: string;
            controlValue: string;
            other: string;
            cleanButton: string;
            cleanButtonSvg: string;
            cleanButtonIconId: string;
            filterStringInput: string;
        };
        html: {
            root: string;
        };
        image: {
            root: string;
            image: string;
        };
        matrix: {
            root: string;
            row: string;
            label: string;
            cellText: string;
            cellTextSelected: string;
            cellLabel: string;
            itemValue: string;
            itemChecked: string;
            itemDecorator: string;
            materialDecorator: string;
            cellResponsiveTitle: string;
        };
        matrixdropdown: {
            root: string;
            itemValue: string;
            headerCell: string;
            row: string;
            rowAdditional: string;
            detailRow: string;
            detailRowText: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
        };
        matrixdynamic: {
            mainRoot: string;
            flowRoot: string;
            root: string;
            button: string;
            itemValue: string;
            buttonAdd: string;
            buttonRemove: string;
            iconAdd: string;
            iconRemove: string;
            iconDrag: string;
            headerCell: string;
            row: string;
            detailRow: string;
            detailCell: string;
            detailButton: string;
            detailButtonExpanded: string;
            detailIcon: string;
            detailIconExpanded: string;
            detailPanelCell: string;
            actionsCell: string;
            emptyRowsSection: string;
            emptyRowsText: string;
            emptyRowsButton: string;
            ghostRow: string;
            draggedRow: string;
        };
        paneldynamic: {
            root: string;
            navigation: string;
            progressTop: string;
            progressBottom: string;
            title: string;
            button: string;
            buttonAdd: string;
            buttonRemove: string;
            buttonRemoveRight: string;
            buttonPrev: string;
            buttonNext: string;
            buttonPrevDisabled: string;
            buttonNextDisabled: string;
            progressContainer: string;
            progress: string;
            progressBar: string;
            progressText: string;
            panelWrapper: string;
            panelWrapperInRow: string;
            progressBtnIcon: string;
            footer: string;
        };
        multipletext: {
            root: string;
            itemTitle: string;
            item: string;
            itemLabel: string;
            row: string;
            itemValue: string;
        };
        radiogroup: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            itemDecorator: string;
            label: string;
            labelChecked: string;
            itemControl: string;
            controlLabel: string;
            materialDecorator: string;
            other: string;
            clearButton: string;
            column: string;
        };
        buttongroup: {
            root: string;
            item: string;
            itemIcon: string;
            itemDecorator: string;
            itemCaption: string;
            itemSelected: string;
            itemHover: string;
            itemDisabled: string;
            itemControl: string;
        };
        imagepicker: {
            root: string;
            item: string;
            itemChecked: string;
            itemInline: string;
            label: string;
            itemControl: string;
            image: string;
            itemText: string;
            clearButton: string;
        };
        rating: {
            root: string;
            item: string;
            selected: string;
            minText: string;
            itemText: string;
            maxText: string;
            disabled: string;
        };
        text: string;
        expression: string;
        file: {
            root: string;
            placeholderInput: string;
            preview: string;
            removeButton: string;
            fileInput: string;
            fileSign: string;
            removeFile: string;
            fileDecorator: string;
            removeButtonBottom: string;
            dragAreaPlaceholder: string;
            fileList: string;
        };
        signaturepad: {
            root: string;
            controls: string;
            placeholder: string;
            canvas: string;
            backgroundImage: string;
            clearButton: string;
        };
        saveData: {
            root: string;
            info: string;
            error: string;
            success: string;
            button: string;
        };
        window: {
            root: string;
            body: string;
            header: {
                root: string;
                title: string;
                button: string;
                buttonExpanded: string;
                buttonCollapsed: string;
            };
        };
    };
}
declare module "packages/survey-core/src/localization/arabic" {
    export var arabicSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/basque" {
    export var basqueSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/bulgarian" {
    export var bulgarianStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/burmese" {
    export var burmeseStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        confirmRemoveFile: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/catalan" {
    export var catalanSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/croatian" {
    export var croatianStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/czech" {
    export var czechSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/danish" {
    export var danishSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/dutch" {
    export var dutchSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/nl-BE" { }
declare module "packages/survey-core/src/localization/estonian" {
    export var estonianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/finnish" {
    export var finnishSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/french" {
    export var frenchSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/georgian" {
    export var georgianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/german" {
    export var germanSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/greek" {
    export var greekSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/hebrew" {
    export var hebrewSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/hindi" {
    export var hindiStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/hungarian" {
    export var hungarianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/icelandic" {
    export var icelandicSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/indonesian" {
    export var indonesianStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/italian" {
    export var italianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/japanese" {
    export var japaneseSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/kazakh" {
    export var kazakhStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/korean" {
    export var koreanStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/latvian" {
    export var latvianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/lithuanian" {
    export var lithuaniaSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/macedonian" {
    export var macedonianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/malay" {
    export var malaySurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/norwegian" {
    export var norwegianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/persian" {
    export var persianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/polish" {
    export var polishSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/portuguese" {
    export var portugueseSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/portuguese-br" {
    /**
     * You don't need to translate strings that have the same value as Portuguese translation
     */
    export var portugueseBrSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/romanian" {
    export var romanianSurveyStrings: any;
}
declare module "packages/survey-core/src/localization/russian" {
    export var russianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/serbian" {
    export var serbianStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/simplified-chinese" {
    export var simplifiedChineseSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/slovak" {
    export var slovakSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/spanish" {
    export var spanishSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/swahili" {
    export var swahiliStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/swedish" {
    export var swedishSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/tajik" {
    export var tajikSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        selectAllItemText: string;
        progressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        numericError: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        addPanel: string;
        removePanel: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        removeFileCaption: string;
    };
}
declare module "packages/survey-core/src/localization/thai" {
    export var thaiStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/traditional-chinese" {
    export var traditionalChineseSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/turkish" {
    export var turkishSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/ukrainian" {
    export var ukrainianSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/vietnamese" {
    export var vietnameseSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/welsh" {
    export var welshSurveyStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/telugu" {
    export var teluguStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/philippines" {
    export var philippinesStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        emptyRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/src/localization/slovenian" {
    export var slovenianStrings: {
        pagePrevText: string;
        pageNextText: string;
        completeText: string;
        previewText: string;
        editText: string;
        startSurveyText: string;
        otherItemText: string;
        noneItemText: string;
        refuseItemText: string;
        dontKnowItemText: string;
        selectAllItemText: string;
        deselectAllItemText: string;
        progressText: string;
        indexText: string;
        panelDynamicProgressText: string;
        panelDynamicTabTextFormat: string;
        questionsProgressText: string;
        emptySurvey: string;
        completingSurvey: string;
        completingSurveyBefore: string;
        loadingSurvey: string;
        placeholder: string;
        ratingOptionsCaption: string;
        value: string;
        requiredError: string;
        requiredErrorInPanel: string;
        requiredInAllRowsError: string;
        eachRowUniqueError: string;
        numericError: string;
        minError: string;
        maxError: string;
        textNoDigitsAllow: string;
        textMinLength: string;
        textMaxLength: string;
        textMinMaxLength: string;
        minRowCountError: string;
        minSelectError: string;
        maxSelectError: string;
        numericMinMax: string;
        numericMin: string;
        numericMax: string;
        invalidEmail: string;
        invalidExpression: string;
        urlRequestError: string;
        urlGetChoicesError: string;
        exceedMaxSize: string;
        noUploadFilesHandler: string;
        otherRequiredError: string;
        uploadingFile: string;
        loadingFile: string;
        chooseFile: string;
        noFileChosen: string;
        filePlaceholder: string;
        confirmDelete: string;
        keyDuplicationError: string;
        addColumn: string;
        addRow: string;
        removeRow: string;
        noRowsText: string;
        addPanel: string;
        removePanel: string;
        showDetails: string;
        hideDetails: string;
        choices_Item: string;
        choices_Choice: string;
        matrix_column: string;
        matrix_row: string;
        multipletext_itemname: string;
        savingData: string;
        savingDataError: string;
        savingDataSuccess: string;
        savingExceedSize: string;
        saveAgainButton: string;
        timerMin: string;
        timerSec: string;
        timerSpentAll: string;
        timerSpentPage: string;
        timerSpentSurvey: string;
        timerLimitAll: string;
        timerLimitPage: string;
        timerLimitSurvey: string;
        clearCaption: string;
        signaturePlaceHolder: string;
        signaturePlaceHolderReadOnly: string;
        chooseFileCaption: string;
        takePhotoCaption: string;
        photoPlaceholder: string;
        fileOrPhotoPlaceholder: string;
        replaceFileCaption: string;
        removeFileCaption: string;
        booleanCheckedLabel: string;
        booleanUncheckedLabel: string;
        confirmRemoveFile: string;
        confirmRemoveAllFiles: string;
        questionTitlePatternText: string;
        modalCancelButtonText: string;
        modalApplyButtonText: string;
        filterStringPlaceholder: string;
        emptyMessage: string;
        noEntriesText: string;
        noEntriesReadonlyText: string;
        tabTitlePlaceholder: string;
        more: string;
        tagboxDoneButtonCaption: string;
        selectToRankEmptyRankedAreaText: string;
        selectToRankEmptyUnrankedAreaText: string;
        ok: string;
        cancel: string;
    };
}
declare module "packages/survey-core/entries/chunks/localization" {
    import "packages/survey-core/src/localization/arabic";
    import "packages/survey-core/src/localization/basque";
    import "packages/survey-core/src/localization/bulgarian";
    import "packages/survey-core/src/localization/burmese";
    import "packages/survey-core/src/localization/catalan";
    import "packages/survey-core/src/localization/croatian";
    import "packages/survey-core/src/localization/czech";
    import "packages/survey-core/src/localization/danish";
    import "packages/survey-core/src/localization/dutch";
    import "packages/survey-core/src/localization/nl-BE";
    import "packages/survey-core/src/localization/estonian";
    import "packages/survey-core/src/localization/finnish";
    import "packages/survey-core/src/localization/french";
    import "packages/survey-core/src/localization/georgian";
    import "packages/survey-core/src/localization/german";
    import "packages/survey-core/src/localization/greek";
    import "packages/survey-core/src/localization/hebrew";
    import "packages/survey-core/src/localization/hindi";
    import "packages/survey-core/src/localization/hungarian";
    import "packages/survey-core/src/localization/icelandic";
    import "packages/survey-core/src/localization/indonesian";
    import "packages/survey-core/src/localization/italian";
    import "packages/survey-core/src/localization/japanese";
    import "packages/survey-core/src/localization/kazakh";
    import "packages/survey-core/src/localization/korean";
    import "packages/survey-core/src/localization/latvian";
    import "packages/survey-core/src/localization/lithuanian";
    import "packages/survey-core/src/localization/macedonian";
    import "packages/survey-core/src/localization/malay";
    import "packages/survey-core/src/localization/norwegian";
    import "packages/survey-core/src/localization/persian";
    import "packages/survey-core/src/localization/polish";
    import "packages/survey-core/src/localization/portuguese";
    import "packages/survey-core/src/localization/portuguese-br";
    import "packages/survey-core/src/localization/romanian";
    import "packages/survey-core/src/localization/russian";
    import "packages/survey-core/src/localization/serbian";
    import "packages/survey-core/src/localization/simplified-chinese";
    import "packages/survey-core/src/localization/slovak";
    import "packages/survey-core/src/localization/spanish";
    import "packages/survey-core/src/localization/swahili";
    import "packages/survey-core/src/localization/swedish";
    import "packages/survey-core/src/localization/tajik";
    import "packages/survey-core/src/localization/thai";
    import "packages/survey-core/src/localization/traditional-chinese";
    import "packages/survey-core/src/localization/turkish";
    import "packages/survey-core/src/localization/ukrainian";
    import "packages/survey-core/src/localization/vietnamese";
    import "packages/survey-core/src/localization/welsh";
    import "packages/survey-core/src/localization/telugu";
    import "packages/survey-core/src/localization/philippines";
    import "packages/survey-core/src/localization/slovenian";
}
declare module "src/entries/chunks/localization" {
    import "packages/survey-core/entries/chunks/localization";
}
declare module "src/knockout/templateText" {
    export var koTemplate: any;
    export class SurveyTemplateText {
        constructor();
        addText(newText: string, id: string, name: string): void;
        replaceText(replaceText: string, id: string, questionType?: string): void;
        protected getId(id: string, questionType: string): string;
        protected text: string;
    }
}
declare module "src/knockout/kobase" {
    import { Base } from "src/entries/core";
    export class ImplementorBase {
        element: Base;
        private static doIterateProperties;
        readonly implementedMark = "__surveyImplementedKo";
        constructor(element: Base);
        dispose(): void;
    }
}
declare module "packages/survey-core/src/iconsV1" {
    const icons: {
        [index: string]: string;
    };
    export { icons };
}
declare module "packages/survey-core/src/iconsV2" {
    const icons: {
        [index: string]: string;
    };
    export { icons };
}
declare module "src/knockout/kosurvey" {
    import { Base, SurveyModel } from "src/entries/core";
    import { ImplementorBase } from "src/knockout/kobase";
    import { ILoadFromJSONOptions } from "src/entries/core";
    export class SurveyImplementor extends ImplementorBase {
        survey: SurveyModel;
        private renderedElement;
        constructor(survey: SurveyModel);
        render(element?: any): void;
        private applyBinding;
        koEventAfterRender(element: any, survey: any): void;
        dispose(): void;
    }
    export class Survey extends SurveyModel {
        implementor: SurveyImplementor;
        constructor(jsonObj?: any, renderedElement?: any);
        render(element?: any): void;
        fromJSON(json: any, options?: ILoadFromJSONOptions): void;
        getHtmlTemplate(): string;
        makeReactive(obj: Base): void;
        dispose(): void;
    }
    export var registerTemplateEngine: (ko: any, platform: string) => void;
}
declare module "src/knockout/koPopupSurvey" {
    import { SurveyModel, PopupSurveyModel } from "src/entries/core";
    import { ImplementorBase } from "src/knockout/kobase";
    export class PopupSurveyImplementor extends ImplementorBase {
        window: PopupSurveyModel;
        constructor(window: PopupSurveyModel);
        private doShowingChanged;
        private readonly template: any;
    }
    export class PopupSurvey extends PopupSurveyModel {
        constructor(jsonObj: any, initialModel?: SurveyModel);
    }
    export class SurveyWindow extends PopupSurvey {
    }
}
declare module "src/knockout/kopage" {
    import { PageModel } from "src/entries/core";
    import { PanelModelBase, PanelModel, QuestionRowModel } from "src/entries/core";
    import { SurveyElement } from "src/entries/core";
    import { ImplementorBase } from "src/knockout/kobase";
    export class QuestionRow extends QuestionRowModel {
        panel: PanelModelBase;
        koElementAfterRender: any;
        constructor(panel: PanelModelBase);
        getElementType(el: any): "survey-panel" | "survey-question";
        koAfterRender(htmlElements: any, element: SurveyElement): void;
        private elementAfterRender;
        rowAfterRender(elements: HTMLElement[], model: QuestionRow): void;
        dispose(): void;
    }
    export class PanelImplementorBase extends ImplementorBase {
        panel: PanelModelBase;
        constructor(panel: PanelModelBase);
    }
    export class Panel extends PanelModel {
        private _implementor;
        koElementType: any;
        constructor(name?: string);
        protected onBaseCreating(): void;
        createRow(): QuestionRowModel;
        protected onCreating(): void;
        protected onNumChanged(value: number): void;
        dispose(): void;
    }
    export class Page extends PageModel {
        koElementType: any;
        private _implementor;
        constructor(name?: string);
        protected onBaseCreating(): void;
        createRow(): QuestionRowModel;
        protected onCreating(): void;
        protected onNumChanged(value: number): void;
        dispose(): void;
    }
}
declare module "src/knockout/koflowpanel" {
    import { FlowPanelModel } from "src/entries/core";
    import { Question } from "src/entries/core";
    export class FlowPanel extends FlowPanelModel {
        koElementType: any;
        koElementAfterRender: any;
        placeHolder: string;
        constructor(name?: string);
        protected onCreating(): void;
        protected getHtmlForQuestion(question: Question): string;
        private elementAfterRender;
    }
}
declare module "src/knockout/koquestion" {
    import { Question } from "src/entries/core";
    import { ImplementorBase } from "src/knockout/kobase";
    export class QuestionImplementor extends ImplementorBase {
        question: Question;
        private disposedObjects;
        private callBackFunctions;
        private koDummy;
        koElementType: any;
        private _koValue;
        constructor(question: Question);
        protected setObservaleObj(name: string, obj: any, addToQuestion?: boolean): any;
        protected setCallbackFunc(name: string, func: any): void;
        protected getKoValue(): any;
        protected setKoValue(val: any): void;
        protected onSurveyLoad(): void;
        protected getQuestionTemplate(): string;
        private getTemplateName;
        protected getNo(): string;
        protected updateKoDummy(): void;
        protected koQuestionAfterRender(elements: any, con: any): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_baseselect" {
    import { QuestionImplementor } from "src/knockout/koquestion";
    import { Question } from "src/entries/core";
    export class QuestionSelectBaseImplementor extends QuestionImplementor {
        protected onCreated(): void;
        constructor(question: Question);
        protected readonly isOtherSelected: boolean;
    }
    export class QuestionCheckboxBaseImplementor extends QuestionSelectBaseImplementor {
        constructor(question: Question);
        private koAfterRender;
    }
}
declare module "src/knockout/koquestion_checkbox" {
    import { QuestionCheckboxBaseImplementor } from "src/knockout/koquestion_baseselect";
    import { QuestionCheckboxModel } from "src/entries/core";
    import { Question } from "src/entries/core";
    export class QuestionCheckboxImplementor extends QuestionCheckboxBaseImplementor {
        constructor(question: Question);
        protected getKoValue(): any;
        protected setKoValue(val: any): void;
    }
    export class QuestionCheckbox extends QuestionCheckboxModel {
        private _implementor;
        private _selectAllItemImpl;
        private _otherItemImpl;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_tagbox" {
    import { QuestionTagboxModel } from "src/entries/core";
    export class QuestionTagbox extends QuestionTagboxModel {
        koAllSelected: any;
        private isAllSelectedUpdating;
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        onSurveyValueChanged(newValue: any): void;
        protected onVisibleChoicesChanged(): void;
        protected updateAllSelected(): void;
        dispose(): void;
    }
}
declare module "src/knockout/components/ranking/item-content" {
    export var RankingItemContenViewModel: any;
}
declare module "src/knockout/koquestion_ranking" {
    import { QuestionRankingModel, ItemValue } from "src/entries/core";
    export * from "src/knockout/components/ranking/item-content";
    export class QuestionRanking extends QuestionRankingModel {
        private _implementor;
        protected onBaseCreating(): void;
        dispose(): void;
        koHandleKeydown: (data: ItemValue, event: KeyboardEvent) => boolean;
        koHandlePointerDown: (data: ItemValue, event: PointerEvent) => boolean;
        koHandlePointerUp: (data: ItemValue, event: PointerEvent) => boolean;
    }
}
declare module "src/knockout/koquestion_comment" {
    import { QuestionCommentModel } from "src/entries/core";
    export class QuestionComment extends QuestionCommentModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_dropdown" {
    import { QuestionDropdownModel } from "src/entries/core";
    export class QuestionDropdown extends QuestionDropdownModel {
        private _implementor;
        koDisableOption: any;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_file" {
    import { QuestionFileModel } from "src/entries/core";
    export class QuestionFile extends QuestionFileModel {
        private _implementor;
        private updateState;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_html" {
    import { QuestionHtmlModel } from "src/entries/core";
    export class QuestionHtml extends QuestionHtmlModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_matrix" {
    import { QuestionMatrixModel, MatrixRowModel } from "src/entries/core";
    export class QuestionMatrix extends QuestionMatrixModel {
        private _implementor;
        koVisibleRows: any;
        koVisibleColumns: any;
        constructor(name: string);
        protected onBaseCreating(): void;
        protected onColumnsChanged(): void;
        protected onRowsChanged(): void;
        onSurveyLoad(): void;
        protected onMatrixRowCreated(row: MatrixRowModel): void;
        protected getVisibleRows(): Array<MatrixRowModel>;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_matrixdropdown" {
    import { QuestionMatrixDropdownRenderedErrorRow, QuestionMatrixDropdownRenderedRow } from "src/entries/core";
    import { QuestionMatrixDropdownModel } from "src/entries/core";
    import { MatrixDropdownRowModelBase, QuestionMatrixDropdownRenderedTable } from "src/entries/core";
    import { Question } from "src/entries/core";
    import { QuestionImplementor } from "src/knockout/koquestion";
    export class QuestionMatrixBaseImplementor extends QuestionImplementor {
        private _tableImplementor;
        koRecalc: any;
        constructor(question: Question);
        readonly matrix: QuestionMatrixDropdownModel;
        private cellAfterRender;
        private cellQuestionAfterRender;
        protected isAddRowTop(): boolean;
        protected isAddRowBottom(): boolean;
        protected addRow(): void;
        protected removeRow(row: MatrixDropdownRowModelBase): void;
        private panelAfterRender;
        dispose(): void;
    }
    export class QuestionMatrixDropdown extends QuestionMatrixDropdownModel {
        private _implementor;
        constructor(name: string);
        protected createRenderedTable(): QuestionMatrixDropdownRenderedTable;
        protected onBaseCreating(): void;
        dispose(): void;
    }
    export class KoQuestionMatrixDropdownRenderedTable extends QuestionMatrixDropdownRenderedTable {
        protected createRenderedRow(cssClasses: any, isDetailRow?: boolean): QuestionMatrixDropdownRenderedRow;
        protected createErrorRenderedRow(cssClasses: any): QuestionMatrixDropdownRenderedErrorRow;
    }
}
declare module "src/knockout/koquestion_matrixdynamic" {
    import { QuestionMatrixDropdownRenderedTable } from "src/entries/core";
    import { QuestionMatrixBaseImplementor } from "src/knockout/koquestion_matrixdropdown";
    import { QuestionMatrixDynamicModel } from "src/entries/core";
    import { Question } from "src/entries/core";
    import { MatrixDropdownRowModelBase } from "src/entries/core";
    import { MatrixDynamicRowModel } from "src/entries/core";
    export class QuestionMatrixDynamicImplementor extends QuestionMatrixBaseImplementor {
        constructor(question: Question);
        protected addRow(): void;
        protected removeRow(row: MatrixDynamicRowModel): void;
        getKoPopupIsVisible(row: MatrixDropdownRowModelBase): any;
        dispose(): void;
    }
    export class QuestionMatrixDynamic extends QuestionMatrixDynamicModel {
        private _implementor;
        constructor(name: string);
        protected createRenderedTable(): QuestionMatrixDropdownRenderedTable;
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_paneldynamic" {
    import { QuestionPanelDynamicModel } from "src/entries/core";
    import { QuestionImplementor } from "src/knockout/koquestion";
    export class QuestionPanelDynamicImplementor extends QuestionImplementor {
        koRecalc: any;
        constructor(question: QuestionPanelDynamic);
        protected onPanelCountChanged(): void;
        protected onRenderModeChanged(): void;
        protected onCurrentIndexChanged(): void;
        protected addPanel(): void;
        protected removePanel(val: any): void;
        private panelAfterRender;
        dispose(): void;
    }
    export class QuestionPanelDynamic extends QuestionPanelDynamicModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_text" {
    import { QuestionTextModel } from "src/entries/core";
    import { QuestionImplementor } from "src/knockout/koquestion";
    export class QuestionTextImplementor extends QuestionImplementor {
        constructor(question: QuestionTextModel);
    }
    export class QuestionText extends QuestionTextModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_multipletext" {
    import { QuestionMultipleTextModel, MultipleTextItemModel } from "src/entries/core";
    import { QuestionTextModel } from "src/entries/core";
    import { QuestionImplementor } from "src/knockout/koquestion";
    import { MultipleTextEditorModel } from "src/entries/core";
    import { MutlipleTextRow } from "src/entries/core";
    export class koMultipleTextEditorModel extends MultipleTextEditorModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
    export class MultipleTextItem extends MultipleTextItemModel {
        constructor(name?: any, title?: string);
        protected createEditor(name: string): QuestionTextModel;
    }
    export class QuestionMultipleTextImplementor extends QuestionImplementor {
        koRecalc: any;
        constructor(question: QuestionMultipleText);
    }
    export class QuestionMultipleText extends QuestionMultipleTextModel {
        private _implementor;
        koRows: any;
        constructor(name: string);
        protected onBaseCreating(): void;
        protected onRowCreated(row: MutlipleTextRow): MutlipleTextRow;
        protected createTextItem(name: string, title: string): MultipleTextItemModel;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_radiogroup" {
    import { QuestionRadiogroupModel } from "src/entries/core";
    export class QuestionRadiogroup extends QuestionRadiogroupModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_rating" {
    import { QuestionImplementor } from "src/knockout/koquestion";
    import { QuestionRatingModel, Question } from "src/entries/core";
    export class QuestionRatingImplementor extends QuestionImplementor {
        protected onCreated(): void;
        constructor(question: Question);
    }
    export class QuestionRating extends QuestionRatingModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_boolean" {
    import { QuestionBooleanModel } from "src/entries/core";
    export class QuestionBoolean extends QuestionBooleanModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        onSwitchClick(data: any, event: any): boolean;
        onTrueLabelClick(data: any, event: any): boolean;
        onFalseLabelClick(data: any, event: any): boolean;
        onKeyDown(data: any, event: any): boolean;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_empty" {
    import { QuestionEmptyModel } from "src/entries/core";
    export class QuestionEmpty extends QuestionEmptyModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_expression" {
    import { QuestionExpressionModel } from "src/entries/core";
    export class QuestionExpression extends QuestionExpressionModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_imagepicker" {
    import { QuestionImagePickerModel } from "src/entries/core";
    export class QuestionImagePicker extends QuestionImagePickerModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_image" {
    import { QuestionImageModel } from "src/entries/core";
    export class QuestionImage extends QuestionImageModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_signaturepad" {
    import { QuestionSignaturePadModel } from "src/entries/core";
    export class QuestionSignaturePad extends QuestionSignaturePadModel {
        private _implementor;
        constructor(name: string);
        koOnBlur(data: any, event: any): void;
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_custom" {
    import { QuestionCustomModel, QuestionCompositeModel, ComponentQuestionJSON } from "src/entries/core";
    export class QuestionCustom extends QuestionCustomModel {
        private _implementor;
        constructor(name: string, questionJSON: ComponentQuestionJSON);
        protected onBaseCreating(): void;
        dispose(): void;
    }
    export class QuestionComposite extends QuestionCompositeModel {
        private _implementor;
        constructor(name: string, questionJSON: ComponentQuestionJSON);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/koquestion_buttongroup" {
    import { QuestionButtonGroupModel } from "src/entries/core";
    export class QuestionButtonGroup extends QuestionButtonGroupModel {
        private _implementor;
        constructor(name: string);
        protected onBaseCreating(): void;
        dispose(): void;
    }
}
declare module "src/knockout/components/text-area/text-area" {
    export var TextAreaViewModel: any;
}
declare module "src/knockout/components/action-bar/action" { }
declare module "src/knockout/components/action-bar/action-bar-item" {
    export let ActionBarItemViewModel: any;
}
declare module "src/knockout/components/action-bar/action-bar-item-dropdown" {
    export let ActionBarItemDropdownViewModel: any;
}
declare module "src/knockout/components/action-bar/action-bar-separator" {
    export var ActionBarSeparatorViewModel: any;
}
declare module "src/knockout/components/action-bar/action-bar" {
    import { ActionContainer } from "src/entries/core";
    import { ImplementorBase } from "src/knockout/kobase";
    export * from "src/knockout/components/action-bar/action";
    export * from "src/knockout/components/action-bar/action-bar-item";
    export * from "src/knockout/components/action-bar/action-bar-item-dropdown";
    export * from "src/knockout/components/action-bar/action-bar-separator";
    export class ActionContainerImplementor extends ImplementorBase {
        private model;
        handleClick: boolean;
        private itemsSubscription;
        constructor(model: ActionContainer, handleClick?: boolean);
        dispose(): void;
    }
}
declare module "src/knockout/components/boolean-checkbox/boolean-checkbox" {
    export var CheckboxViewModel: any;
}
declare module "src/knockout/components/boolean-radio/boolean-radio-item" {
    export var BooleanRadioItemViewModel: any;
}
declare module "src/knockout/components/boolean-radio/boolean-radio" {
    export * from "src/knockout/components/boolean-radio/boolean-radio-item";
    export var BooleanRadioViewModel: any;
}
declare module "src/knockout/components/panel/panel" {
    import { PanelModel } from "src/entries/core";
    export class PanelViewModel {
        question: PanelModel;
        targetElement: HTMLElement;
        constructor(question: PanelModel, targetElement: HTMLElement);
    }
}
declare module "src/knockout/components/popup/popup" {
    import { PopupBaseViewModel, IDialogOptions } from "src/entries/core";
    export class PopupViewModel {
        popupViewModel: PopupBaseViewModel;
        private _popupImplementor;
        private _popupModelImplementor;
        constructor(popupViewModel: PopupBaseViewModel);
        dispose(): void;
        visibilityChangedHandler: (s: any, option: {
            isVisible: boolean;
        }) => void;
    }
    export function showModal(componentName: string, data: any, onApply: () => boolean, onCancel?: () => void, cssClass?: string, title?: string, displayMode?: "popup" | "overlay", container?: HTMLElement): PopupBaseViewModel;
    export function showDialog(dialogOptions: IDialogOptions, rootElement?: HTMLElement): PopupBaseViewModel;
}
declare module "src/knockout/components/progress/buttons" {
    import * as ko from "knockout";
    import { ProgressButtons, IProgressButtonsViewModel, SurveyModel } from "src/entries/core";
    export class ProgressButtonsViewModel implements IProgressButtonsViewModel {
        private model;
        private element;
        container: string;
        survey: SurveyModel;
        private respManager;
        private hasScroller;
        canShowHeader: ko.Observable<boolean>;
        canShowFooter: ko.Observable<boolean>;
        canShowItemTitles: ko.Observable<boolean>;
        constructor(model: ProgressButtons, element: HTMLElement, container: string, survey: SurveyModel);
        onResize(canShowItemTitles: boolean): void;
        onUpdateScroller(hasScroller: boolean): void;
        onUpdateSettings(): void;
        getScrollButtonCss(isLeftScroll: boolean): any;
        clickScrollButton(listContainerElement: Element, isLeftScroll: boolean): void;
        dispose(): void;
    }
}
declare module "src/knockout/components/progress/progress" {
    export class ProgressViewModel {
        model: any;
        private container;
        constructor(model: any, container?: string);
        getProgressTextInBarCss(css: any): string;
        getProgressTextUnderBarCss(css: any): string;
        getProgressCssClasses(): any;
    }
}
declare module "src/knockout/components/progress/toc" { }
declare module "src/knockout/components/components-container/components-container" {
    import { SurveyModel } from "src/entries/core";
    export class ComponentsContainer {
        survey: SurveyModel;
        private container;
        needRenderWrapper: boolean;
        constructor(survey: SurveyModel, container: any, needRenderWrapper?: boolean);
        css: string;
        readonly components: Array<any>;
    }
}
declare module "src/knockout/components/template-renderer/template-renderer" { }
declare module "src/knockout/components/title/title-element" {
    export var TitleElementViewModel: any;
}
declare module "src/knockout/components/title/title-content" {
    export var TitleContentViewModel: any;
}
declare module "src/knockout/components/title/title-actions" {
    export var TitleActionViewModel: any;
}
declare module "src/knockout/components/string-editor/string-editor" {
    export class StringEditorViewModel {
        locString: any;
        constructor(locString: any);
        readonly koHasHtml: any;
        editValue: any;
        onInput(sender: StringEditorViewModel, event: any): void;
        onClick(sender: StringEditorViewModel, event: any): void;
        dispose(): void;
    }
}
declare module "src/knockout/components/string-viewer/string-viewer" {
    export var StringViewerViewModel: any;
}
declare module "src/knockout/components/logo-image/logo-image" {
    export let LogoImageViewModel: any;
}
declare module "src/knockout/components/skeleton/skeleton" {
    export var Skeleton: any;
}
declare module "src/knockout/components/character-counter/character-counter" {
    export var CharacterCounterComponent: any;
}
declare module "src/knockout/components/rating-dropdown/rating-dropdown-item" {
    export var RatingItemViewComponent: any;
}
declare module "src/knockout/components/rating-dropdown/rating-dropdown" {
    export * from "src/knockout/components/rating-dropdown/rating-dropdown-item";
    export var RatingDropdownViewModel: any;
}
declare module "src/knockout/components/rating/rating-item" {
    export var RatingItemViewModel: any;
}
declare module "src/knockout/components/rating/rating-item-star" {
    export var RatingItemStarViewModel: any;
}
declare module "src/knockout/components/rating/rating-item-smiley" {
    export var RatingItemSmileyViewModel: any;
}
declare module "src/knockout/components/dropdown/dropdown" {
    export var DropdownViewModel: any;
}
declare module "src/knockout/components/dropdown-select/dropdown-select" {
    export var DropdownSelectViewModel: any;
}
declare module "src/knockout/components/tagbox/tagbox-item" {
    export var TagboxViewComponent: any;
}
declare module "src/knockout/components/tagbox/tagbox" {
    export var TagboxViewModel: any;
}
declare module "src/knockout/components/header/cell" { }
declare module "src/knockout/components/header/mobile" { }
declare module "src/knockout/components/header/index" {
    export * from "src/knockout/components/header/cell";
    export * from "src/knockout/components/header/mobile";
}
declare module "src/knockout/components/file/choose-file" {
    export var SurveyNavigationButton: any;
}
declare module "src/knockout/components/file/file-preview" {
    export var SurveyFilePreview: any;
}
declare module "src/knockout/components/file/file-page" {
    export var SurveyFilePage: any;
}
declare module "src/knockout/components/file/file-item" {
    export var SurveyFileItem: any;
}
declare module "src/knockout/components/list/list-item" {
    export var ListItemViewComponent: any;
}
declare module "src/knockout/components/list/list-item-content" {
    export var ListItemContentViewComponent: any;
}
declare module "src/knockout/components/list/list-item-group" {
    export let ListItemGroupViewComponent: any;
}
declare module "src/knockout/components/list/list" {
    export * from "src/knockout/components/list/list-item";
    export * from "src/knockout/components/list/list-item-content";
    export * from "src/knockout/components/list/list-item-group";
    export var ListViewComponent: any;
}
declare module "src/knockout/components/svg-icon/svg-icon" {
    export var SvgIconViewModel: any;
}
declare module "src/knockout/components/matrix-actions/remove-button/remove-button" {
    export let SurveyQuestionMatrixDynamicRemoveButton: any;
}
declare module "src/knockout/components/matrix-actions/detail-button/detail-button" {
    export var SurveyQuestionMatrixDetailButton: any;
}
declare module "src/knockout/components/matrix-actions/drag-drop-icon/drag-drop-icon" {
    export var SurveyQuestionMatrixDynamicDragDropIcon: any;
}
declare module "src/knockout/components/button-group/button-group-item" {
    import { ButtonGroupItemModel } from "src/entries/core";
    export class ButtonGroupItemViewModel {
        model: ButtonGroupItemModel;
        constructor(model: ButtonGroupItemModel);
    }
}
declare module "src/knockout/components/survey-actions/survey-nav-button" {
    export var SurveyNavigationButton: any;
}
declare module "src/knockout/components/paneldynamic-actions/paneldynamic-actions" {
    export var SurveyQuestionPaneldynamicActioons: any;
}
declare module "src/knockout/components/brand-info/brand-info" {
    export var BrandInfoComponent: any;
}
declare module "src/knockout/components/question-error/question-error" {
    export var QuestionErrorComponent: any;
}
declare module "src/knockout/components/notifier/notifier" {
    export var NotifierViewModel: any;
}
declare module "src/knockout/components/loading-indicator/loading-indicator" {
    export var LoadingIndicatorViewModel: any;
}
declare module "src/knockout/svg-bundle" { }
declare module "src/entries/knockout-ui-model" {
    export { Survey, Survey as Model } from "src/knockout/kosurvey";
    export { PopupSurvey, SurveyWindow } from "src/knockout/koPopupSurvey";
    export { ImplementorBase } from "src/knockout/kobase";
    export { QuestionRow, Page, Panel } from "src/knockout/kopage";
    export { FlowPanel } from "src/knockout/koflowpanel";
    export { QuestionImplementor } from "src/knockout/koquestion";
    export { QuestionSelectBaseImplementor } from "src/knockout/koquestion_baseselect";
    export { QuestionCheckboxBaseImplementor } from "src/knockout/koquestion_baseselect";
    export { QuestionCheckbox } from "src/knockout/koquestion_checkbox";
    export { QuestionTagbox } from "src/knockout/koquestion_tagbox";
    export { QuestionRanking } from "src/knockout/koquestion_ranking";
    export { QuestionComment } from "src/knockout/koquestion_comment";
    export { QuestionDropdown } from "src/knockout/koquestion_dropdown";
    export { QuestionFile } from "src/knockout/koquestion_file";
    export { QuestionHtml } from "src/knockout/koquestion_html";
    export { QuestionMatrix } from "src/knockout/koquestion_matrix";
    export { QuestionMatrixDropdown } from "src/knockout/koquestion_matrixdropdown";
    export { QuestionMatrixDynamicImplementor, QuestionMatrixDynamic, } from "src/knockout/koquestion_matrixdynamic";
    export { QuestionPanelDynamic } from "src/knockout/koquestion_paneldynamic";
    export { MultipleTextItem, QuestionMultipleText, } from "src/knockout/koquestion_multipletext";
    export { QuestionRadiogroup } from "src/knockout/koquestion_radiogroup";
    export { QuestionRating, QuestionRatingImplementor, } from "src/knockout/koquestion_rating";
    export { QuestionText } from "src/knockout/koquestion_text";
    export { QuestionBoolean } from "src/knockout/koquestion_boolean";
    export { QuestionEmpty } from "src/knockout/koquestion_empty";
    export { QuestionExpression } from "src/knockout/koquestion_expression";
    export { QuestionImagePicker } from "src/knockout/koquestion_imagepicker";
    export { PopupSurveyImplementor } from "src/knockout/koPopupSurvey";
    export { SurveyTemplateText } from "src/knockout/templateText";
    export { QuestionImage } from "src/knockout/koquestion_image";
    export { QuestionSignaturePad } from "src/knockout/koquestion_signaturepad";
    export { QuestionCustom } from "src/knockout/koquestion_custom";
    export { QuestionButtonGroup } from "src/knockout/koquestion_buttongroup";
    export * from "src/knockout/components/text-area/text-area";
    export * from "src/knockout/components/action-bar/action-bar";
    export * from "src/knockout/components/boolean-checkbox/boolean-checkbox";
    export * from "src/knockout/components/boolean-radio/boolean-radio";
    export * from "src/knockout/components/panel/panel";
    export * from "src/knockout/components/popup/popup";
    export * from "src/knockout/components/progress/buttons";
    export * from "src/knockout/components/progress/progress";
    export * from "src/knockout/components/progress/toc";
    export * from "src/knockout/components/components-container/components-container";
    export * from "src/knockout/components/template-renderer/template-renderer";
    export * from "src/knockout/components/title/title-element";
    export * from "src/knockout/components/title/title-content";
    export * from "src/knockout/components/title/title-actions";
    export * from "src/knockout/components/string-editor/string-editor";
    export * from "src/knockout/components/string-viewer/string-viewer";
    export * from "src/knockout/components/logo-image/logo-image";
    export * from "src/knockout/components/skeleton/skeleton";
    export * from "src/knockout/components/character-counter/character-counter";
    export * from "src/knockout/components/rating-dropdown/rating-dropdown";
    export * from "src/knockout/components/rating/rating-item";
    export * from "src/knockout/components/rating/rating-item-star";
    export * from "src/knockout/components/rating/rating-item-smiley";
    export * from "src/knockout/components/dropdown/dropdown";
    export * from "src/knockout/components/dropdown-select/dropdown-select";
    export * from "src/knockout/components/tagbox/tagbox-item";
    export * from "src/knockout/components/tagbox/tagbox";
    export * from "src/knockout/components/header/index";
    export * from "src/knockout/components/file/choose-file";
    export * from "src/knockout/components/file/file-preview";
    export * from "src/knockout/components/file/file-page";
    export * from "src/knockout/components/file/file-item";
    export * from "src/knockout/components/list/list";
    export * from "src/knockout/components/svg-icon/svg-icon";
    export { SurveyQuestionMatrixDynamicRemoveButton } from "src/knockout/components/matrix-actions/remove-button/remove-button";
    export { SurveyQuestionMatrixDetailButton } from "src/knockout/components/matrix-actions/detail-button/detail-button";
    export { SurveyQuestionMatrixDynamicDragDropIcon } from "src/knockout/components/matrix-actions/drag-drop-icon/drag-drop-icon";
    export { ButtonGroupItemViewModel } from "src/knockout/components/button-group/button-group-item";
    export { SurveyNavigationButton } from "src/knockout/components/survey-actions/survey-nav-button";
    export * from "src/knockout/components/paneldynamic-actions/paneldynamic-actions";
    export * from "src/knockout/components/brand-info/brand-info";
    export * from "src/knockout/components/question-error/question-error";
    export * from "src/knockout/components/notifier/notifier";
    export * from "src/knockout/components/loading-indicator/loading-indicator";
    export * from "src/knockout/svg-bundle";
}
declare module "src/entries/knockout" {
    export * from "src/entries/core-wo-model";
    export * from "src/entries/plugins";
    import "src/entries/chunks/localization";
    export * from "src/entries/knockout-ui-model";
}
declare module "survey-knockout" {
    import main = require("src/entries/knockout");
    export = main;
}
