import type { PickerItem, ValueChangedEvent, ValueChangingEvent } from '../base'; import { type Unsubscribe } from '../utils/nanoevents'; type PickerName = string; export type BaseControlConfig = Record; }>; export type ControlEvents = { onValueChanged: (event: { pickers: NonNullable; }) => void; onValueChanging: (event: { pickers: NonNullable; }) => void; }; export type ControlSubscriber = { getExtraValues: () => unknown[]; getEveryIsStopped: () => boolean; emitOnValueChanged: (event: ValueChangedEvent>) => void; emitOnValueChanging: (event: ValueChangingEvent>) => void; emitOnNewPropValue: (event: { item: PickerItem; }) => void; emitOnScrollStart: () => void; emitOnScrollEnd: () => void; onNewExtraValues: (cb: () => void) => Unsubscribe; onAllScrollEnd: (cb: () => void) => Unsubscribe; disconnect: () => void; }; export type Control = { _connect: (info: { pickerName: PickerName; item: PickerItem; }) => ControlSubscriber; _on: (event: NameT, callback: ControlEvents[NameT]) => Unsubscribe; __SAVED_TYPE_CONFIG__?: ConfigT; }; export declare const createControl: () => Control; export {}; //# sourceMappingURL=create-control.d.ts.map