import { EventTypeWithTarget, JBBaseComponent } from "jb-core"; //#region modules/jb-calendar/web-component/lib/types.d.ts type JBCalendarSections = "DAY" | "MONTH" | "YEAR"; type JBCalendarValue = { day: number | null; month: number | null; year: number | null; }; type JBCalendarElements = { selectionSections: { day: HTMLDivElement; month: HTMLDivElement; year: HTMLDivElement; }; monthDayWrapper: { current: HTMLDivElement; prev: HTMLDivElement; next: HTMLDivElement; }; yearsWrapper: { current: HTMLDivElement; prev: HTMLDivElement; next: HTMLDivElement; }; dayOfWeekWrapper: HTMLDivElement; navigatorTitle: { wrapper: HTMLDivElement; month: HTMLButtonElement; year: HTMLButtonElement; yearRange: HTMLSpanElement; nextButton: HTMLButtonElement; prevButton: HTMLButtonElement; }; swipeupSymbol: HTMLDivElement; }; type JBCalendarDateRestrictions = { min: Date | null; max: Date | null; }; type JBCalendarData = { selectedYear: number; selectedMonth: number; yearSelectionRange: [number, number]; }; type JBCalendarSwipeGestureData = { daysWrapper: { startX: number | null; startY: number | null; }; yearsWrapper: { startX: number | null; }; }; type Direction = "rtl" | "ltr"; type InputType = 'JALALI' | 'GREGORIAN'; type JBCalendarEventType = EventTypeWithTarget; //#endregion //#region modules/jb-calendar/web-component/lib/jb-calendar.d.ts declare class JBCalendarWebComponent extends JBBaseComponent { #private; /** * @public change month labels to desired user label base on language or culture */ setMonthList(inputType: InputType, monthList: string[]): void; get defaultCalendarData(): { jalali: { year: number; month: number; }; gregorian: { year: number; month: number; }; }; set defaultCalendarData(value: { jalali: { year: number; month: number; }; gregorian: { year: number; month: number; }; }); dateRestrictions: JBCalendarDateRestrictions; data: JBCalendarData; private elements; get value(): JBCalendarValue; set value(value: JBCalendarValue); get activeSection(): JBCalendarSections; set activeSection(value: JBCalendarSections); get inputType(): InputType; set inputType(value: InputType); get showPersianNumber(): boolean; set showPersianNumber(value: boolean); get cssDirection(): Direction; get direction(): Direction; set direction(dir: Direction); constructor(); connectedCallback(): void; disconnectedCallback(): void; initCalendarLayout(): void; /** * @public its public because we cant detect css dir change by js so we have to let user change it manually * @description set elements direction base on current css direction or seated direction. * @param dir */ setupStyleBaseOnCssDirection(dir?: Direction): void; fillDayOfWeek(): void; setCalendarData(): void; callOnLoadEvent(): void; callOnInitEvent(): void; initWebComponent(): void; registerEventHandlers(): void; onDayWrapperTouchStart(e: TouchEvent): void; onDayWrapperTouchMove(e: TouchEvent): void; onDayWrapperTouchEnd(e: TouchEvent): void; onYearWrapperTouchStart(e: TouchEvent): void; onYearWrapperTouchMove(e: TouchEvent): void; onYearWrapperTouchEnd(e: TouchEvent): void; moveBackToPos(dom: HTMLElement): void; createDataHandler(): { set: (obj: any, prop: string, value: number | number[]) => boolean; }; createDateRestrictionHandler(): { set: (obj: any, prop: string, value: number) => boolean; }; initProps(): void; selectToday(): void; select(year: number, month: number, day: number): void; initCalendar(): void; fillYearList(): void; fillYearListDom(startYear: number, endYear: number, type: "current" | "prev" | "next"): void; createYearDom(year: number): HTMLButtonElement; fillMonthDaysDom(year: number, month: number, type: "current" | "prev" | "next"): void; fillMonthDays(): void; checkIsDayDisable(dayDate: Date): { min: boolean; max: boolean; readonly isAllValid: boolean; }; createEmptyDayDom(): HTMLDivElement; createDayDom(dayNumber: number, year: number, month: number, isToday: boolean, isSelected: boolean, isDisable: boolean): HTMLButtonElement; onDayClicked(year: number, month: number, dayNumber: number): void; onNextButtonClicked(): void; onPrevButtonClicked(): void; onNavigatorTitleYearClicked(): void; onNavigatorTitleMonthClicked(): void; onInputTypeChange(): void; localizeString(string: string): string; } declare global { interface HTMLElementTagNameMap { "jb-calendar": JBCalendarWebComponent; } } //# sourceMappingURL=jb-calendar.d.ts.map //#endregion export { Direction, InputType, JBCalendarData, JBCalendarDateRestrictions, JBCalendarElements, JBCalendarEventType, JBCalendarSections, JBCalendarSwipeGestureData, JBCalendarValue, JBCalendarWebComponent }; //# sourceMappingURL=jb-calendar.d.ts.map