import { Type } from '@angular/core';
import { WidgetLayout } from '../common/widget-enums';
import { ChoicesMl } from './widget-value/choices-ml';
import { MultipleLanguages } from './widget-value/multiple-languages';
export declare abstract class Widget {
    id: string;
    prompt: string;
    hiprompt: string;
    marprompt: string;
    teprompt: string;
    frprompt: string;
    arprompt: string;
    JPprompt: string;
    IDprompt: string;
    THprompt: string;
    CNprompt: string;
    choices: string;
    identifier: string;
    shortName: string;
    placeholder: string;
    defaultValue: string;
    widgetLayout: WidgetLayout;
    required: boolean;
    type: string;
    isHidden: boolean;
    subType: string;
    validityDependents: [];
    isEditable: boolean;
    helpText: string;
    loadingId: boolean;
    isSearchable: boolean;
    displayMode: string;
    mainType: string;
    fontSize: string;
    unique: boolean;
    indent: string;
    expandHelp: boolean;
    copyField: string;
    onValueChange: string;
    filterConditionJs: string;
    showPolylineSelection: string;
    validate: boolean;
    choicesMl: ChoicesMl;
    validityConditions: any;
    visibilityConditions: any;
    invalidityMsg: string;
    dependant: [];
    visibilityConditionJs: string;
    validityConditionJs: string;
    isVisible: boolean;
    helpTextMl: MultipleLanguages;
    promptMl: MultipleLanguages;
    isSticky: boolean;
    repopulateValue: boolean;
    markup: any;
    widgetSelect: boolean;
    abstract value: any;
    constructor(field?: Widget);
    newWidget(): void;
    /**function to create widget object with existing values
     *
     *@param Report
     *
     */
    widget(field: any): void;
    abstract getWidgetValue(): any;
    abstract setWidgetValue(value: any): any;
    abstract getWidgetSerializedValue(): string;
    abstract component?: Type<any>;
}
