export declare const formatDateRange: (start: Date, end: Date) => string;
export type IHasYear = {
    Year: number;
};
export type IHasMonth = {
    Month: number;
};
export type IHasQuarter = {
    Quarter: number;
};
export type IHasWeek = {
    Week: number;
};
export type IHasStartDate = {
    StartDate: Date;
};
export type IHasEndDate = {
    EndDate: Date;
};
export type IYearQuarter = IHasYear & IHasQuarter;
export type IYearMonth = IHasYear & IHasMonth;
export type IYearWeek = IHasYear & IHasWeek;
export type IDateRange = IHasStartDate & IHasEndDate;
export type IYearQuarterDateRange = IYearQuarter & IDateRange;
export type IYearMonthDateRange = IYearMonth & IDateRange;
export type IYearWeekDateRange = IYearWeek & IDateRange;
export declare class DateRange implements IDateRange {
    constructor(startDate: Date, endDate: Date);
    StartDate: Date;
    EndDate: Date;
    get DaysInBetween(): number;
    get Days(): Date[];
    toString(): string;
}
export declare class YearQuarter extends DateRange implements IYearQuarterDateRange {
    constructor(year?: number, quarter?: number);
    Year: number;
    Quarter: number;
    static get Current(): YearQuarter;
    static FromDate(date: Date): YearQuarter;
    static FromString(date: string): YearQuarter;
    static get CurrentQuarter(): number;
    get IsCurrent(): boolean;
    get Next(): YearQuarter;
    get Previous(): YearQuarter;
    get YearMonths(): YearMonth[];
    toString(): string;
}
export declare class YearMonth extends DateRange implements IYearMonthDateRange {
    constructor(year?: number, month?: number);
    Year: number;
    Month: number;
    static get Current(): YearMonth;
    static FromDate(date: Date): YearMonth;
    static FromString(date: string): YearMonth;
    get IsCurrent(): boolean;
    get Next(): YearMonth;
    get Previous(): YearMonth;
    get YearQuarter(): YearQuarter;
    toString(): string;
}
export declare class YearWeek extends DateRange implements IYearWeekDateRange {
    constructor(year?: number, week?: number);
    Year: number;
    Week: number;
    static get Current(): YearWeek;
    static FromDate(date: Date): YearWeek;
    static FromString(date: string): YearWeek;
    get Next(): YearWeek;
    get Previous(): YearWeek;
    toString(): string;
}
export declare class YearWeekIso extends DateRange implements IYearWeekDateRange {
    constructor(year?: number, week?: number);
    Year: number;
    Week: number;
    static get Current(): YearWeekIso;
    static FromDate(date: Date): YearWeekIso;
    static FromString(date: string): YearWeekIso;
    get Next(): YearWeekIso;
    get Previous(): YearWeekIso;
    toString(): string;
}
