/** * Copyright 2024, SumUp Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Temporal } from 'temporal-polyfill'; import type { Locale } from './i18n.js'; export type FirstDayOfWeek = 1 | 7; export type DaysInWeek = number; export type PlainDateRange = { start: undefined; end: undefined; } | { start: Temporal.PlainDate; end: undefined; } | { start: Temporal.PlainDate; end: Temporal.PlainDate; }; export declare const MIN_YEAR = 1; export declare const MAX_YEAR = 9999; export declare const MIN_MONTH = 1; export declare const MAX_MONTH = 12; export declare const MIN_DAY = 1; export declare function getTodaysDate(): Temporal.PlainDate; export declare function isPlainDate(date: unknown): date is Temporal.PlainDate; export declare function toPlainDate(date?: string): Temporal.PlainDate | undefined; export declare function clampDate(date: Temporal.PlainDate, minDate?: Temporal.PlainDate | null, maxDate?: Temporal.PlainDate | null): Temporal.PlainDate; export declare function updatePlainDateRange(previousRange: PlainDateRange, date: Temporal.PlainDate): PlainDateRange; export declare function getFirstDateOfWeek(date: Temporal.PlainDate, firstDayOfWeek: FirstDayOfWeek): Temporal.PlainDate; export declare function getLastDateOfWeek(date: Temporal.PlainDate, firstDayOfWeek: FirstDayOfWeek): Temporal.PlainDate; export declare function getMonthName(month: number, locale?: Locale): string;