import React from 'react'; import { StylesOf } from '@codeleap/types'; import { DatePickerModalButtonCompositions, DatePickerModalComposition } from './styles'; import { DatePickerProps } from 'react-native-date-picker'; import { ButtonProps } from '../Button'; import { ModalProps } from '../Modal'; import { StyledProp } from '@codeleap/styles'; import { DateField } from '@codeleap/form'; export type DatePickerModalOuterInputProps = Omit & { valueLabel: string; value: any; onValueChange: (date: any) => void; }; type DatePickerModalFooterProps = Omit & { valueLabel: string; confirm: () => void; cancelStyles: StylesOf; confirmStyles: StylesOf; doneStyles: StylesOf; }; export type DatePickerModalProps = Omit & { field?: DateField; hideInput?: boolean; debugName: string; label?: string; placeholder?: string; /** When false the native `react-native-date-picker` modal is used (`modal={true}`) without any custom wrapper, which means Modal-level style tokens and footer are not applied. */ isCustomModal?: boolean; mode?: DatePickerProps['mode']; cancelButtonProps?: Partial; confirmButtonProps?: Partial; datePickerProps?: Partial; outerInputComponent?: React.ComponentType; formatDate?: (date: Date) => string; /** `'onConfirm'` buffers the date in a ref until the user taps Confirm; `'onChange'` writes on every picker scroll tick. Choose `'onConfirm'` for controlled forms to avoid intermediate invalid states. */ commitDate?: 'onConfirm' | 'onChange'; showDoneButton?: boolean; footerComponent?: React.ComponentType; initialDate?: Date; minimumDate?: DatePickerProps['minimumDate']; maximumDate?: DatePickerProps['maximumDate']; toggleOnConfirm?: boolean; onConfirm?: (value: Date) => void; style?: StyledProp; value?: Date; onValueChange?: (value: Date) => void; locale?: string; }; export {}; //# sourceMappingURL=types.d.ts.map