import { TNode, KeysType } from '../common'; export interface TdPickerProps { cancelBtn?: boolean | string; columns: PickerColumn | Array | ((item: Array) => Array); confirmBtn?: boolean | string; footer?: TNode; header?: TNode; keys?: KeysType; option?: (option: PickerColumnItem, index: number) => string | Record; renderLabel?: (item: PickerColumnItem, index: number) => string; swipeDuration?: string | number; title?: string; value?: Array; defaultValue?: Array; modelValue?: Array; wheelConfig?: PickerWheelConfig; onCancel?: (context: { e: MouseEvent; }) => void; onChange?: (value: Array, context: { columns: Array; e: MouseEvent; }) => void; onConfirm?: (value: Array, context: { index: number[]; e: MouseEvent; label: string[]; }) => void; onPick?: (value: Array, context: PickerContext) => void; } export type PickerColumn = PickerColumnItem[]; export interface PickerColumnItem { label: string; value: string; disabled?: boolean; } export type PickerValue = string | number; export interface PickerWheelConfig { inertiaDuration?: number; bounceDuration?: number; transitionDuration?: number; inertiaTimeThreshold?: number; inertiaDistanceThreshold?: number; boundOffset?: number; clickDistanceThreshold?: number; clickTimeThreshold?: number; } export interface PickerContext { column: number; index: number; }