// @flow
import type { StylableProps } from '../../mixins/themes';
import type { TestingProps } from '../../mixins/testing';
import type { AriaProps } from '../../mixins/aria';

type ReactDayPickerDisableDatesConfig = {|
  before?: Date,
  after?: Date,
|};

export type DatepickerProps = {|
  ...StylableProps,
  ...TestingProps,
  ...AriaProps,
  label: string,
  hideLabel?: boolean,
  onChange: (date: Date | void) => void,
  value?: Date,
  disabledDates?: Array<Date | ReactDayPickerDisableDatesConfig>,
  disableWeekends?: boolean,
  disablePastDates?: boolean,
|};
