import { Type } from '@angular/core';
import { Widget } from './widget';
import { Case, WidgetLayout } from '../common/widget-enums';
import { PropertyPanelFieldMetadata } from '../common/property-panel-field';
import { TextBoxComponent } from '../../../sculptor-lib/widgets/textbox/textbox.component';
import { ChoicesMl } from './widget-value/choices-ml';
declare type TextBoxValueValue = Type<string | number>;
export declare class TextBox extends Widget {
    component: Type<TextBoxComponent>;
    value: TextBoxValueValue;
    inputType: string;
    helpText: string;
    minLength: string;
    maxLength: string;
    mask: string;
    isMultiline: boolean;
    case: Case;
    defaultCase: string;
    onValueEdit: string;
    defaultText: string;
    otherMask: string;
    isOtpVerificationRequired: boolean;
    mastringType: string;
    maxDecimal: string;
    minNumber: string;
    allowMultipleEmails: boolean;
    saveNumber: string;
    maxNumber: string;
    dependents: [];
    submitWithoutVerification: string;
    valueWithoutMask: string;
    unit: string;
    multiSelect: boolean;
    choicesMl: ChoicesMl;
    repopulateValue: boolean;
    widgetLayout: WidgetLayout;
    choices: string;
    hiChoices: string;
    marChoices: string;
    telChoices: string;
    frChoices: string;
    arChoices: string;
    JPChoices: string;
    IDChoices: string;
    THChoices: string;
    CNChoices: string;
    markup: string;
    name: string;
    constructor(field?: any);
    /**
     * get widget value
     *
     * @returns
     */
    getWidgetValue(): any;
    /**
     * Set widget Value
     *
     * @param value
     */
    setWidgetValue(value: any): void;
    /**
     * this will return serialize of widget
     */
    getWidgetSerializedValue(): string;
    /**function to create text-box object with existing values
    *
    *@param field
    *
    */
    textBox(field: any): void;
    newTextBox(): void;
    static getPropertyPanelFieldMetadata(target: any, key: string): PropertyPanelFieldMetadata;
    getPropertyPanelFieldUIProperties(): any;
}
export {};
