import { DataField } from '../../models/abstract-data-field'; import { Behavior } from '../../models/behavior'; import { Layout } from '../../models/layout'; import { FieldTypeResource } from '../../../task-content/model/field-type-resource'; import { Component } from '../../models/component'; import { Validation } from '../../models/validation'; import { UpdateOnStrategy } from "../../models/update-strategy"; import { Observable, Subject } from 'rxjs'; export interface MultichoiceFieldValue { key: string; value: string; } export declare class MultichoiceField extends DataField> { private _choices; private readonly _fieldType; protected _updatedChoices: Subject; constructor(stringId: string, title: string, values: Array, _choices: Array, behavior: Behavior, placeholder?: string, description?: string, layout?: Layout, _fieldType?: FieldTypeResource, validations?: Array, component?: Component, parentTaskId?: string); set choices(choices: Array); get choices(): Array; get fieldType(): FieldTypeResource; get updatedChoices(): Observable; updateChoice(): void; getUpdateOnStrategy(): UpdateOnStrategy; getTypedComponentType(): string; protected valueEquality(a: Array, b: Array): boolean; }