import { default as CssClasses } from './classes'; import { default as Lifecycle } from './lifecycle'; import { default as Render, CloseInfo } from './render'; import { default as Select } from './select'; import { default as Settings, MODAL_MOBILE_BREAKPOINT } from './settings'; import { default as Store, Option, Optgroup } from './store'; import { default as SyncCoordinator } from './sync'; export { Settings, Option, Optgroup, MODAL_MOBILE_BREAKPOINT }; export type { ModalSetting } from './settings'; export type { Main, Content, Search, CloseInfo, CloseSource } from './render'; export interface Config { select: string | Element; data?: (Partial)[]; settings?: Partial; cssClasses?: Partial; events?: Events; } export interface Events { search?: (searchValue: string, selected: Option[], catalog?: (Option | Optgroup)[]) => Promise<(Partial)[]> | (Partial)[]; searchFilter?: (option: Option, search: string) => boolean; addable?: (value: string) => Promise | string> | Partial)[]): void; getSelected(): string[]; setSelected(values: string | string[], runAfterChange?: boolean): void; addOption(option: Partial