import { IObservable, IObservableArrayEventArgs, IReadonlyObservableArray, ObservableArrayAction } from '../Core/Observable'; import { IListSelection } from '../List'; import { IListBoxItem } from '../ListBox'; import { IItemProvider } from '../Utilities/Provider'; export declare class EditableDropdownItemProvider implements IItemProvider>, IObservable>, ObservableArrayAction> { private itemCollection; private listItems; private extraItem; private selection; /** * Create a Provider that manages focus on rows with a focused class. * @param listItems the current set of filtered items. * @param selection The selection object associstaed with items. */ constructor(listItems: IReadonlyObservableArray> | IListBoxItem[] | string[], selection: IListSelection); /** * Get the length of the listItems array. */ get length(): number; /** * Get the interal array of listItems. */ get value(): IListBoxItem[]; /** * Return whether or not there is currently an extra item added for a freeform EditableDropdown. */ get hasExtraItem(): boolean; /** * Subscribe to changes in the underlying set of items. * @param observer the delegate to be called when there are updates. * @param action the action on the set to observe. */ subscribe(observer: (value: IObservableArrayEventArgs>, action?: ObservableArrayAction) => void, action?: ObservableArrayAction): (value: IObservableArrayEventArgs>, action?: ObservableArrayAction) => void; /** * Unsubscribe from changes in the underlying set of items. * @param observer the delegate that was used to subscribe. * @param action the action that was used to subsribe. */ unsubscribe(observer: (value: IObservableArrayEventArgs>, action?: ObservableArrayAction) => void, action?: ObservableArrayAction): void; /** * Set the text value currently typed in the EditableDropdown to see if an extra item needs to be added * to represent that value. Only call this if allowFreeform is true. * @param value */ setTextValue(value: string): void; } export declare const editableDropdownExtraItemClassName = "editable-dropdown-extra-item";