import React, { Component } from 'react'; import { SimpleCalendar } from '../datelogic/simplecalendar'; import { CalendarButtonState } from '../datelogic/types'; export interface CalendarProps { calendarClassName?: string; escKeyHandler?: React.KeyboardEventHandler; locale: 'nb' | 'nn' | 'en'; onDatePicked: (date: string, keepOpen?: boolean) => void; selectedDate?: string | null; focusOnMount?: boolean; /** Om måned- og år-dropdown skal vises i kalenderen */ dropdownCaption?: boolean; /** Tidligste tillatte dato (format: 'dd.mm.yyyy') - brukes kun til å bestemme år-intervall i dropdown */ minDate?: string | null; /** Seneste tillatte dato (format: 'dd.mm.yyyy') - brukes kun til å bestemme år-intervall i dropdown */ maxDate?: string | null; /** Array av datoer i format 'dd.mm.yyyy' som skal være deaktivert */ disabledDates?: string[]; } interface State { calendar: SimpleCalendar; isFocusingHeader: boolean; } export declare class Calendar extends Component { private readonly datepickerId; constructor(props: CalendarProps); clickableDateRef: React.RefObject; prevMonthButtonElementRef: React.RefObject; nextMonthButtonElementRef: React.RefObject; monthSelectRef: React.RefObject; yearSelectRef: React.RefObject; componentDidUpdate(prevProps: CalendarProps): void; shouldComponentUpdate(nextProps: CalendarProps): boolean; keyDown(event: React.KeyboardEvent): void; mouseClick(date: CalendarButtonState): void; nextMonth(evt: React.MouseEvent): void; previousMonth(evt: React.MouseEvent): void; renderDate(calendarButtonState: CalendarButtonState, index: number): React.JSX.Element; renderWeek(week: { dates: CalendarButtonState[]; number: number; }): React.JSX.Element; renderDay(day: { name: string; shortName: string; }, index: number): React.JSX.Element; focusTrap: (event: React.KeyboardEvent) => void; /** * Navigate to a specific month and year */ navigateToMonthYear(month: number, year: number): void; render(): React.JSX.Element; } export {};