import { DateTime } from 'luxon'; import { WrDateAdapter, WrDateFormat } from 'ngwr/date-adapter'; import * as i0 from '@angular/core'; import { EnvironmentProviders } from '@angular/core'; /** * {@link WrDateAdapter} backed by Luxon `DateTime`. Use this when you need * proper timezone-aware math or IANA zone handling (the native + date-fns * adapters both work on plain `Date` and inherit JS quirks). * * @example * ```ts * bootstrapApplication(AppComponent, { * providers: [provideWrLuxonAdapter()], * }); * ``` * * Peer dep: `luxon@^3`. */ declare class WrLuxonAdapter extends WrDateAdapter { private readonly locale; today(): DateTime; clone(date: DateTime): DateTime; createDate(year: number, month: number, day: number): DateTime; isValid(date: DateTime): boolean; getYear(date: DateTime): number; getMonth(date: DateTime): number; getDate(date: DateTime): number; getDayOfWeek(date: DateTime): number; getDaysInMonth(date: DateTime): number; getHours(date: DateTime): number; getMinutes(date: DateTime): number; getSeconds(date: DateTime): number; addYears(date: DateTime, amount: number): DateTime; addMonths(date: DateTime, amount: number): DateTime; addDays(date: DateTime, amount: number): DateTime; setTime(date: DateTime, hours: number, minutes: number, seconds: number): DateTime; isSameDay(a: DateTime, b: DateTime): boolean; isSameMonth(a: DateTime, b: DateTime): boolean; compareDate(a: DateTime, b: DateTime): number; format(date: DateTime, formatKeyOrString: WrDateFormat | (string & {})): string; parse(value: string, formatKeyOrString: WrDateFormat | (string & {})): DateTime | null; getFirstDayOfWeek(): number; getDayOfWeekNames(style: 'narrow' | 'short' | 'long'): readonly string[]; getMonthNames(style: 'narrow' | 'short' | 'long'): readonly string[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** * Register the {@link WrLuxonAdapter} so date-pickers / calendars in this * app use Luxon `DateTime` for all math and formatting. Pass `locale` to * override the BCP 47 tag. * * @example * ```ts * bootstrapApplication(AppComponent, { * providers: [provideWrLuxonAdapter()], * }); * ``` */ declare function provideWrLuxonAdapter(options?: { readonly locale?: string; }): EnvironmentProviders; export { WrLuxonAdapter, provideWrLuxonAdapter };