import { HTMLAttributes } from "react"; export declare type voidFunction = () => void; export declare const ENGLISH = "en"; export declare const NEPALI = "ne"; export declare const BS = "BS"; export declare const AD = "AD"; export declare type localeType = "en" | "ne"; export interface NepaliDatePickerOptions { closeOnSelect: boolean; calenderLocale: localeType; valueLocale: localeType; } export interface IContextProviderProps { minYear?: number; children: React.ReactNode; maxYear?: number; } export interface INepaliDatePicker { value: string; className: HTMLAttributes["className"]; inputClassName: HTMLAttributes["className"]; onChange: (date: string) => void; onSelect?: (value: string) => void; options: NepaliDatePickerOptions; minYear?: number; maxYear?: number; todayIfEmpty?: boolean; } export interface NepaliDatePickerProps { value?: INepaliDatePicker["value"]; className?: INepaliDatePicker["className"]; inputClassName?: INepaliDatePicker["inputClassName"]; onChange?: INepaliDatePicker["onChange"]; onSelect?: INepaliDatePicker["onSelect"]; options?: { closeOnSelect?: NepaliDatePickerOptions["closeOnSelect"]; calenderLocale?: NepaliDatePickerOptions["calenderLocale"]; valueLocale?: NepaliDatePickerOptions["valueLocale"]; }; minYear?: INepaliDatePicker["minYear"]; maxYear?: INepaliDatePicker["maxYear"]; todayIfEmpty?: boolean; } export interface NepaliDatepickerEvents { change: (value: string) => void; yearSelect?: (year: number) => void; monthSelect?: ({ year, month }: YearMonth) => void; daySelect?: ({ year, month, day }: YearMonthDate) => void; previousMonthSelect?: ({ month, year }: YearMonth) => void; nextMonthSelect?: ({ year, month }: YearMonth) => void; todaySelect?: ({ year, month, day }: YearMonthDate) => void; } export interface ParsedDate { bsYear: number; bsMonth: number; bsDay: number; weekDay: number; adDate: Date; numberOfDaysInBSMonth: number; firstAdDayInBSMonth: Date; } export declare const parsedDateInitialValue: ParsedDate; export interface SplittedDate { year: number; month: number; day: number; } export declare type YearMonthDate = SplittedDate; export interface YearMonth { year: number; month: number; }