import { Type } from '@angular/core';
import { Widget } from './widget';
import { SetValueModeType, WidgetLayout } from '../common/widget-enums';
import { ReferenceListValue } from './widget-value/reference-list-object-value';
import { ScriptNode } from './script-condition';
import { ChoiceListComponent } from '../../../sculptor-lib/widgets/choice-list/choice-list.component';
import { PropertyPanelFieldMetadata } from '../common/property-panel-field';
import { ChoicesMl } from './widget-value/choices-ml';
export declare class ChoiceList extends Widget {
    choicesSource: string;
    isEditable: boolean;
    helpText: string;
    markup: string;
    referenceForm: string;
    choices: any;
    defaultChoice: string;
    defaultValue: string;
    allowBarCodeQrCodeSearch: boolean;
    multiSelect: boolean;
    apiMethod: string;
    mode: SetValueModeType;
    applyGeoFence: boolean;
    oldValue: string;
    filterConditions: ScriptNode;
    showLocation: boolean;
    downloadWhenSelected: boolean;
    username: string;
    applyAccessLevels: boolean;
    addReference: boolean;
    newValue: string;
    password: string;
    fontSize: string;
    barQRSearch: string;
    isStatus: boolean;
    repopulateValue: boolean;
    unit: string;
    apiUrl: string;
    dependents: [];
    hiChoices: string;
    marChoices: string;
    telChoices: string;
    frChoices: string;
    arChoices: string;
    JPChoices: string;
    IDChoices: string;
    THChoices: string;
    CNChoices: string;
    choicesMl: ChoicesMl;
    validityDependents: [];
    widgetLayout: WidgetLayout;
    name: string;
    component: Type<ChoiceListComponent>;
    value: Array<ReferenceListValue> | Array<string>;
    field_map_json: [];
    constructor(field?: Widget);
    /**
     * get widget values
     *
     * @returns
     */
    getWidgetValue(): any;
    /**
     * Set widget Value
     *
     * @param value
     */
    setWidgetValue(value: any): void;
    /**
     * this will return serialize of widget
     */
    getWidgetSerializedValue(): string;
    newChoiceList(): void;
    /**function to create choice-list object with existing values
    *
    *@param Report
    *
    */
    choiceList(field: any): void;
    createValidators(): void;
    /**
     * Create FormControl for widget
     */
    createFormControl(): void;
    static getPropertyPanelFieldMetadata(target: any, key: string): PropertyPanelFieldMetadata;
    getPropertyPanelFieldUIProperties(): any;
}
