import { DateAdapter } from '@angular/material'; import { JalaliMomentDateAdapter } from './jalali-date-adapter'; import { Subject } from 'rxjs'; import { BehaviorSubject } from 'rxjs'; /** Adapts the native JS Date for use with cdk-based components that work with dates. */ export declare class NativeDateAdapter extends DateAdapter { constructor(localeId: any); lang: string; langSubject: Subject; JDateAdapter: JalaliMomentDateAdapter; invalid(): Date; toIso8601(date: any): string; sameDate(a: any, b: any): boolean; setLocale(v: any): void; getLang(): Subject; changeLocale(): void; /** * Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates. * Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off * the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()` * will produce `'8/13/1800'`. */ useUtcForDisplay: boolean; getYear(date: any, force?: any): number; getMonth(date: any, force?: any): number; getDate(date: any, force?: any): number; getDayOfWeek(date: Date, force?: any): number; getMonthNames(style: 'long' | 'short' | 'narrow', force?: any): string[]; getDateNames(force?: any): string[]; getDayOfWeekNames(style: 'long' | 'short' | 'narrow', force?: any): string[]; getYearName(date: Date, force?: any): string; getFirstDayOfWeek(force?: any): number; getNumDaysInMonth(date: Date, force?: any): number; clone(date: Date): Date; createDate(year: number, month: number, date: number): Date; today(): Date; parse(value: any): Date | null; format(date: any, displayFormat: Object): string; addCalendarYears(date: Date, years: number): Date; addCalendarMonths(date: Date, months: number): Date; addCalendarDays(date: Date, days: number): Date; getISODateString(date: Date): string; isDateInstance(obj: any): boolean; isValid(date: any): boolean; /** Creates a date but allows the month and date to overflow. */ private _createDateWithOverflow; /** * Pads a number to make it two digits. * @param n The number to pad. * @returns The padded number. */ private _2digit; /** * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while * other browsers do not. We remove them to make output consistent and because they interfere with * date parsing. * @param str The string to strip direction characters from. * @returns The stripped string. */ private _stripDirectionalityCharacters; } export declare class dateFormat { parse: any; display: any; _getChanges: Subject; _lastChanges: BehaviorSubject; constructor(_dateAdapter: DateAdapter); getChanges(): Subject; }