/**
 * DateRange Type represents start date and end date.
 */
export declare class DateRange {
    start: Date | null;
    end: Date | null;
    /**
     * Examples:
   ```typescript
  const d1 = new DateRange();
  const d2 = new DateRange(new Date(), new Date(2018, 9, 10));
   ```
     * @param start [Optional] Start Date. Default: null.
     * @param end [Optional] End Date. Default: null
     */
    constructor(start?: Date | null, end?: Date | null);
    /**
     * Examples:
   ```typescript
  const d1 = DateRange.nextDays(7);
  // a date range of next week since today
   ```
     * @param n Number of days after today.
     */
    static nextDays(n: number): DateRange;
    /**
     * Examples:
   ```typescript
  const d1 = DateRange.lastDays(7);
  // a date range of a week before today
   ```
     * @param n Number of days before today.
     */
    static lastDays(n: number): DateRange;
    /**
     * Examples:
   ```typescript
  const d1 = DateRange.nextTwoWeeks();
  // a date range of next two weeks since today
   ```
     */
    static nextTwoWeeks(): DateRange;
    /**
     * Examples:
   ```typescript
  const d1 = DateRange.nextMonth();
  // a date range of next month since today
   ```
     */
    static nextMonth(): DateRange;
    /**
     * Examples:
   ```typescript
  const d1 = DateRange.lastMonth();
  // a date range of last month till today
   ```
     */
    static lastMonth(): DateRange;
    /**
     * Examples:
   ```typescript
  const d1 = DateRange.create({});
   ```
     * @param start start date of range you're creating
     * @param end end date of range you're creating
     */
    static create(start: any, end: any): DateRange;
    /**
     * Examples:
   ```typescript
  const isValid = DateRange.isValidDate(new Date());
   ```
     * @param value date you want to verify as date
     */
    static isValidDate(value: any): boolean;
    /**
     * Examples:
   ```typescript
  const a = new DateRange();
  const isEqual = a.equals(new DateRange());
   ```
     * @param dateRange another DateRange object
     */
    equals(dateRange: DateRange): boolean;
    /**
     *
     * @param date1 a Date object or NULL
     * @param date2 a Date object or NULL
     */
    static dateEqual(date1: Date | null, date2: Date | null): boolean;
}
