declare class DatesYMD { constructor( firstDate: string | number | Date, secondDate: string | number | Date, ); diffArray(): [number, number, number, string]; formattedYMD(): string; customizeFormat( yearUnit: string, monthUnit: string, dayUnit: string, partSeparator: string, ): string; diffInMonths(): number; diffInWeeks(): number; diffInDays(): number; diffInYears(): number; diffInHours(): number; diffInMinutes(): number; diffInSeconds(): number; } declare function diffDates( firstDate: string | number | Date, secondDate: string | number | Date, ): DatesYMD; // Extend the global Date interface to add the `diff` method declare global { interface Date { diff(secondDate: string | number | Date): DatesYMD; } } // The hybrid CommonJS module export: declare const diffYMDPackage: typeof DatesYMD & { diffDates: typeof diffDates; }; export = diffYMDPackage;