import { QueryTupleForHolder } from '@/services/data/tuples/tuple-types' ; export enum PickerDropdownPosition { TOP = 'top' , BOTTOM = 'bottom' } export enum PickerSearchState { READY = 'ready' , SEARCHING = 'searching' , DONE = 'done' } export enum TupleItemPickerEventTypes { SEARCH_STARTED = 'search-started' , SEARCH_DONE = 'search-done' , CHANGE_SEARCH_STATE = 'change-search-state' , CHANGE_DROPDOWN_POSITION = 'change-dropdown-position' , ITEM_ADDED = 'item-added' , ITEM_REMOVED = 'item-removed' } export interface TupleItemPickerEventBus { fire ( type ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire < QTH extends QueryTupleForHolder > ( type , state , candidates ) : this ; on < QTH extends QueryTupleForHolder > ( type , listener ) : this ; off < QTH extends QueryTupleForHolder > ( type , listener ) : this ; fire ( type , dropdownPosition ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; fire ( type ) : this ; on ( type , listener ) : this ; off ( type , listener ) : this ; }