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); get text(): string | null; set text(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$; set options(options: any); get 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; }