export interface OpeningHoursData {
    su: string[];
    mo: string[];
    tu: string[];
    we: string[];
    th: string[];
    fr: string[];
    sa: string[];
    ph: string[];
}
export interface NextOpeningDay {
    day: string;
    opensInDay: number;
}
export interface NextReopening {
    hour: string | null;
    day: string;
    opensInDay: number;
}
export interface FullDayStatus {
    open: boolean;
    openUntil: string | null;
    nextReopening: NextReopening | null;
}
export declare class OpeningHours {
    private MAX_CLOSE_TIME;
    private MIN_OPEN_TIME;
    private openingHours;
    constructor(stringOpeningHours: string);
    getTable(): OpeningHoursData;
    private getTodayDateWithOffset;
    isOpenOn(date: Date): boolean;
    isOpenNow(utcOffset?: number): boolean;
    private geTimeSlots;
    private isCurrentlyOnNightServiceOfYesterday;
    getFullStatusOfDay: (date: Date) => FullDayStatus;
    getFullStatusOfToday: (utcOffset?: number) => FullDayStatus;
    private openUntil;
    private opensAt;
    private getNextOpeningDay;
    private getNextReopening;
    private serializeHoursOfDay;
    private parse;
    private simplify;
    private formatTime;
    private splitHard;
    private parseHardPart;
    private parseDays;
    private calcDayRange;
    private calcRange;
    private checkTime;
    private checkDay;
    private compareTime;
    private isNightlyService;
    private constructDateFromTime;
    private getHoursAndMinutes;
    private getTimesOfDay;
    toReadableString(): string;
}
