import { ArrayMaybe, Observable, ObservableMaybe, ObservableReadonly } from 'woby'; export type WheelerItem = { value: T; label: string | number; component?: (props: { itemHeight: number; value: WheelerItem; index: number; }) => HTMLLIElement; hasComponent?: boolean; }; export type WheelerProps = { options: ObservableMaybe[]>; itemHeight?: ObservableMaybe; itemCount?: ObservableMaybe; value?: ObservableMaybe['value']>>; class?: JSX.Class; header?: (v: ObservableMaybe['value']>>) => JSX.Element; /** implicit for multiple */ all?: ObservableMaybe; ok?: ObservableMaybe; visible?: Observable; bottom?: ObservableMaybe; cancelOnBlur?: ObservableMaybe; commitOnBlur?: ObservableMaybe; mask?: boolean; changeValueOnClickOnly?: boolean; }; /** * * type User = { id: number; name: string }; // id as required string type WithChangedId = ChangeProp; // → { name: string; id: string } // id as optional string type WithOptionalId = ChangeProp; // → { name: string; id?: string } */ export type ChangeProp = Omit & { [P in K]: Optional extends true ? V | undefined : V; }; export declare const useArrayOptions: (data: ObservableMaybe) => ObservableReadonly; type Enum = { [key: string]: string | number; }; export declare const useEnumOptions: (enumObj: ObservableMaybe) => ObservableReadonly[]>; export declare const useRecordOptions: (data: ObservableMaybe>>) => ObservableReadonly>[]>; export {}; //# sourceMappingURL=WheelerType.d.ts.map