import React from "react";
import "react-dates/initialize.js";
import { type DayOfWeekShape, type DayPickerPhrases } from "react-dates";
import { type Moment, type RangeDate } from "./types";
import { type VibeComponentProps } from "../../types";
import "./external_datepicker.scss";
export interface DatePickerProps extends VibeComponentProps {
    /**
     * The first day of the week to display.
     */
    firstDayOfWeek?: DayOfWeekShape;
    /**
     * The currently selected date.
     */
    date?: Moment;
    /**
     * The end date for range selection mode.
     */
    endDate?: Moment;
    /**
     * Callback fired when a date is selected.
     */
    onPickDate?: (date: Moment | RangeDate) => void;
    /**
     * If true, hides the navigation buttons.
     */
    hideNavigationKeys?: boolean;
    /**
     * If true, allows selecting days outside the current month.
     */
    enableOutsideDays?: boolean;
    /**
     * If true, displays a column with week numbers.
     */
    showWeekNumber?: boolean;
    /**
     * The size of a single day cell.
     */
    daySize?: number;
    /**
     * Function to determine if a specific day should be disabled.
     */
    shouldBlockDay?: (date: Moment) => boolean;
    /**
     * If true, enables date range selection mode.
     */
    range?: boolean;
    /**
     * Custom phrases for accessibility and aria-labels.
     */
    phrases?: DayPickerPhrases;
    /**
     * The number of months displayed in the calendar.
     */
    numberOfMonths?: number;
    /**
     * Function to determine if a specific year should be disabled.
     */
    shouldBlockYear?: (year: number) => boolean;
    /**
     * Function to determine if a specific date range should be disabled.
     */
    shouldBlockRange?: (date: Moment) => boolean;
}
declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLDivElement>>;
export default DatePicker;
