interface IPurpleDate {
    year: number;
    month: number;
    dateOfMonth: number;
    today: PurpleDate;
    indexOfDayOfWeek: number;
    timestamp: number;
    isToday: () => boolean;
    toDateString: (format?: 'YY.MM.DD' | 'YYYY.MM.DD', seperator?: '-' | '.') => string;
    addMonth: (months: number) => PurpleDate;
    addYear: (years: number) => PurpleDate;
}
declare class PurpleDate implements IPurpleDate {
    year: number;
    month: number;
    private indexOfMonth;
    dateOfMonth: number;
    indexOfDayOfWeek: number;
    timestamp: number;
    constructor(params?: [year: number, month: number, dateOfMonth: number]);
    get today(): PurpleDate;
    isToday: () => boolean;
    toDateString: IPurpleDate['toDateString'];
    addMonth: IPurpleDate['addMonth'];
    addYear: IPurpleDate['addYear'];
}
declare const START_DATE: PurpleDate;
declare const END_DATE: PurpleDate;
declare const EMPTY_DATE: null;
type DateOrNullType = typeof EMPTY_DATE | PurpleDate;
type DateOrNullTypeTupleList = [DateOrNullType, DateOrNullType][];
export type { IPurpleDate, DateOrNullType, DateOrNullTypeTupleList };
export { PurpleDate, START_DATE, END_DATE, EMPTY_DATE };
