import { FlagModel, type ILabeledFlagModel } from './FlagModel.js'; import { ValidatableModel } from './Validatable.js'; import type { IValueModel, IResettableModel } from '@zajno/common/models/types'; import { Getter } from '@zajno/common/types/getter'; import { type IDisposable } from '@zajno/common/functions/disposer'; export declare class Select extends ValidatableModel implements IValueModel, IResettableModel, IDisposable { private readonly _accessor; private _index; private readonly _items; private _indexLocked; private _initialIndex; private readonly _flags; readonly opened: FlagModel; private readonly _flagsDisposer; constructor(items: Getter, _accessor: (item: T) => string, initialIndex?: number); protected get valueToValidate(): T | null; get values(): readonly string[]; get flags(): readonly ILabeledFlagModel[]; get items(): readonly T[]; get value(): string | null; get selectedValue(): string | null; set value(v: string | null); set selectedValue(value: string | null); get selectedItem(): T | null; set selectedItem(item: T); get isDefault(): boolean; get index(): number; set index(val: number); withIndexModel(index: IValueModel): this; setIndex: (val: number) => void; reset: () => void; private createFlags; dispose(): void; } export declare class SelectString extends Select { constructor(items: readonly T[], initialIndex?: number); }