import { VegaSlimmer } from '../../../../../vega-slimmer/vega-slimmer-core';
import { VegaDatePickerCalendar } from '../../vega-date-picker-calendar';
import { DatePickerCalendarRepickType } from '../../../types';
/** Allow repick controller. */
export declare class VegaDatePickerCalendarAllowRepickController extends VegaSlimmer {
  calendarSelection: VegaDatePickerCalendar['calendarSelection'];
  isMobileDevice: VegaDatePickerCalendar['isMobileDevice'];
  currentPeriodController: VegaDatePickerCalendar['currentPeriodController'];
  private repickType;
  /**
   * Trigger repick
   *
   * @param {DatePickerCalendarRepickType} type - The type of repick.
   */
  triggerRepick(type: DatePickerCalendarRepickType): void;
  /** while selection completed, we should clear repick type */
  watchCalendarSelection(): void;
  /**
   * Get triggered repick type.
   *
   * @returns {DatePickerCalendarRepickType} - Repick type.
   */
  getRepickType(): DatePickerCalendarRepickType;
  /**
   * Set end date as current period.
   *  - while start date and end date in same month of year, we set startDate as current period
   *  - while in range mobile device, since we only render on month, so set the end date at current period
   *  - while in range desktop devide, we set previous month as current period to keep end date is in second month.
   */
  private setEndDateAsCurrentMonthPeriod;
}
