export declare enum Weekday { Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6 } export declare class DateCodeModel { dateCode: string; constructor(dateCode: string | number); getByOffset(offset: number): DateCodeModel; isValid(): boolean; getDate(): Date; static getRange(startDate: DateCodeModel, endDate: DateCodeModel): DateCodeModel[]; static fromDate(date: Date): string; getFormattedDate(): string; getFormattedDateWithMonthName(): string; static formatDateCode(dateCode: string): string; isWithinOffset(offsetInDays?: number): boolean; static getFinancialYearRange(dateCodeModel: DateCodeModel): { startDate: DateCodeModel; endDate: DateCodeModel; }; getRange(dateCodeModel: DateCodeModel): DateCodeModel[]; static diffInDays(startModel: DateCodeModel, endModel: DateCodeModel, excludeDays?: Weekday[], excludeDateCodes?: DateCodeModel[]): number; getMonthStartDateCodeEndDateCodeIST(): { startDate: DateCodeModel; endDate: DateCodeModel; }; static getByPredicates(models: DateCodeModel[], includePredicates: ((dateModel: DateCodeModel) => boolean)[], excludePredicates: ((dateModel: DateCodeModel) => boolean)[]): DateCodeModel[]; static getWeekdaysPredicate(weekdays: Weekday[]): (dateModel: DateCodeModel) => boolean; static getDateCodesPredicate(dateCodes: DateCodeModel[]): (dateModel: DateCodeModel) => boolean; diffInDays(endModel: DateCodeModel, excludeDays?: Weekday[], excludeDateCodes?: DateCodeModel[]): number; static calculateNumberOfDays(startDateCode: string, endDateCode: string): number; isDayPresent(days: Weekday[]): boolean; isSame(dateCodeModel: DateCodeModel): boolean; getWeekday(): Weekday; getDateInIST(): Date; static getDaysInCurrentMonth(): number; getDaysInMonth(dateCode?: string): number; isPresent(dateCodes: DateCodeModel[]): boolean; static fromEpochSeconds(epochSeconds: number): number; static getCurrentMonthEpochRange(): { epochStartTime: number; epochEndTime: number; }; static getFinancialYearEpochRangeForDate(date: Date): { epochStartTime: number; epochEndTime: number; }; static getCurrentFinancialYearEpochDateRange(): { epochStartTime: number; epochEndTime: number; }; /** * Returns a 4-digit financial year code for invoice numbering. * Example: * - Date = 2026-02-10 → FY = 2025–26 → returns "2526" * - Date = 2026-05-01 → FY = 2026–27 → returns "2627" */ static getFinancialYearCode(date: Date): string; static epochToYYYYMMDD(epochSeconds: number): string; static getFinancialYearCodesFromDate(date: Date): { prevFY: string; currFY: string; }; static getCurrentTimestampCode(): string; static getTodayISTEpochRange(): { epochStartTime: number; epochEndTime: number; }; /** * Creates a DateCodeModel instance directly from a JavaScript Date object. * Internally formats the date to "yyyyMMdd" and constructs the model. * * @param date - A valid JavaScript Date object * @returns A new DateCodeModel instance representing the given date * * @example * const model = DateCodeModel.fromDateObject(new Date('2025-01-01')); * // equivalent to: new DateCodeModel(DateCodeModel.fromDate(new Date('2025-01-01'))) */ static fromDateObject(date: Date): DateCodeModel; /** * Returns the earliest (min) and latest (max) dateCodes (YYYYMMDD) from a list. * Accepts string | undefined | DateCodeModel and normalizes internally. */ static getMinMax(dateCodes: (string | undefined | DateCodeModel)[]): { min: string | null; max: string | null; }; toStringFormat(dateFormat: string): string; static getCurrentISTDateTimeCode(): { dateCode: string; timeCode: string; }; }