import { LfI18n, LfRouter, LfStorage, PathBased } from '@lightweightform/core'; import { PromiseState } from 'mobx-utils'; import { InlineValue } from './inline-value'; import * as i0 from "@angular/core"; /** * List of options supported by components which present a list of options from * which to select. */ export declare type Options = Array>; /** * Type of an option supported by components which present a list of options * from which to select. */ export interface Option { /** * Value of the option. */ value: T; /** * Human-readable string to represent the option. */ label?: string; /** * Code of the option. */ code?: string; /** * Help message associated with the option. */ helpMessage?: string; /** * Whether the option should show up as disabled. */ isDisabled?: boolean; } /** * Class which represents a component whose value may be restricted by a set of * options. */ export declare abstract class SelectionValue extends InlineValue { constructor(parentPathBasedComponent: PathBased | null, lfStorage: LfStorage, lfI18n: LfI18n, lfRouter: LfRouter | null); /** * Selectable options (possibly fetched asynchronously). */ get options(): Options; /** * Text to be shown when there are no options available. */ get noOptionsText(): string | undefined; /** * Promise-status of the options. */ get optionsStatus(): PromiseState; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }