import { Observable } from "rxjs"; import { DynamicFormValueControlModel, DynamicFormValueControlModelConfig } from "./dynamic-form-value-control.model"; import { DynamicFormControlLayout } from "./misc/dynamic-form-control-layout.model"; export interface DynamicFormOptionConfig { disabled?: boolean; label?: string; value: T; } export declare class DynamicFormOption { disabled: boolean; label: string | null; value: T; constructor(config: DynamicFormOptionConfig); text: string | null; toJSON(): Object; } export interface DynamicOptionControlModelConfig extends DynamicFormValueControlModelConfig { options?: DynamicFormOptionConfig[] | Observable[]>; } export declare abstract class DynamicOptionControlModel extends DynamicFormValueControlModel { private _options; options$: Observable[]>; protected constructor(config: DynamicOptionControlModelConfig, layout?: DynamicFormControlLayout); private updateOptions$; options: any; add(optionConfig: DynamicFormOptionConfig): DynamicFormOption; get(index: number): DynamicFormOption; insert(index: number, optionConfig: DynamicFormOptionConfig): DynamicFormOption; remove(...indices: number[]): void; abstract select(...indices: number[]): void; }