import { ITransactionDateInterface, TTransactionDate } from '../interfaces/ITransactionDate.interface';
export declare function getDistinctDates<T extends ITransactionDateInterface>(source: T[]): number[];
export declare function getStartOfDay(date: TTransactionDate): Date;
export declare function getStartOfMonth(date: TTransactionDate): Date;
export declare function getEndOfMonth(date: TTransactionDate, monthOffset?: number): Date;
export declare function addDaysToDate(date: TTransactionDate, days: number): Date;
export declare function addMonthsToDate(date: TTransactionDate, months: number): Date;
export declare function daysDiff(startDate: TTransactionDate, endDate: TTransactionDate): number;
export declare function monthsBetweenDates(startDate: TTransactionDate, endDate: TTransactionDate): number;
export declare function isDateTheSame(date: TTransactionDate, compareDate: TTransactionDate): boolean;
export declare function isDateAfter(date: TTransactionDate, compareDate: TTransactionDate): boolean;
export declare function isDateOnOrAfter(date: TTransactionDate, compareDate: TTransactionDate): boolean;
export declare function isDateBefore(date: TTransactionDate, compareDate: TTransactionDate): boolean;
export declare function isDateOnOrBefore(date: TTransactionDate, compareDate: TTransactionDate): boolean;
export declare function isDateInRange(date: TTransactionDate, startDate: TTransactionDate, endDate: TTransactionDate): boolean;
export declare function dateToKey(date: TTransactionDate): string;
export declare function keyToDate(key: string): Date;
export declare function mapDates<T extends ITransactionDateInterface>(source: T[]): T[];
