///
import { MaterialUiPickersDate } from './date';
import { WrapperVariant } from '../wrappers/Wrapper';
import { ParsableDate } from '../constants/prop-types';
import { ToolbarComponentProps } from '../Picker/Picker';
export interface BasePickerProps {
/** Picker value */
value: ParsableDate;
/** onChange callback @DateIOType */
onChange: (date: MaterialUiPickersDate) => void;
/**
* Auto accept date on selection
* @default false
*/
autoOk?: boolean;
/** Format string */
format?: string;
/** Disable picker and text field */
disabled?: boolean;
/** Make picker read only */
readOnly?: boolean;
/** Dynamic formatter of text field value @DateIOType */
labelFunc?: (date: MaterialUiPickersDate, invalidLabel: string) => string;
/** Date that will be initially highlighted if null was passed */
initialFocusedDate?: ParsableDate;
/**
* Message displaying in text field if date is invalid (doesn't work in keyboard mode)
* @default 'unknown'
*/
invalidLabel?: string;
/**
* Message displaying in text field, if null passed (doesn't work in keyboard mode)
* @default ' '
*/
emptyLabel?: string;
/** Callback fired when date is accepted @DateIOType */
onAccept?: (date: MaterialUiPickersDate) => void;
/** Callback fired when new error should be displayed
* (!! This is a side effect. Be careful if you want to rerender the component) @DateIOType
*/
onError?: (error: React.ReactNode, value: MaterialUiPickersDate | ParsableDate) => void;
/** On open callback */
onOpen?: () => void;
/** On close callback */
onClose?: () => void;
/** Controlled picker open state */
open?: boolean;
/**
* Hide toolbar and show only date/time views
* @default false
*/
disableToolbar?: boolean;
/**
* Force rendering in particular orientation
* @default "portrait"
*/
orientation?: 'portrait' | 'landscape';
/** Component that will replace default toolbar renderer */
ToolbarComponent?: React.ComponentType;
variant?: WrapperVariant;
}