import { default as Render } from './render';
import { default as Select } from './select';
import { default as Store, Optgroup, Option } from './store';
/** Where a change originated — affects batching and render behavior. */
export type ChangeSource = 'native' | 'ui' | 'api';
export interface SyncEvents {
afterChange?: (newVal: Option[]) => void;
error?: (err: Error) => void;
}
/**
* A single unit of work in the sync queue.
* Structure = replace option list; selection = change selected only; addOption = append one.
*/
export type SyncChange = {
type: 'structure';
data: (Partial