/**
 * Time context for a RR0 page.
 */
export class TimeContext {
    /**
     * @readonly
     */
    static readonly MINUTE: 60;
    /**
     * @readonly
     */
    static readonly HOUR: number;
    /**
     * @readonly
     */
    static readonly DAY: number;
    /**
     *
     * @param {string} timeStr
     * @return {TimeContext}
     */
    static fromString(timeStr: string): TimeContext;
    /**
     * @param {Date} date
     * @return {TimeContext}
     */
    static fromDate(date: Date): TimeContext;
    /**
     *
     * @param {number} [_year]
     * @param {number} [_month]
     * @param {number} [_dayOfMonth]
     * @param {number} [_hour]
     * @param {number} [_minutes]
     * @param {string} [_timeZone]
     * @param {boolean} [approximate]
     * @param {boolean} [approximateTime]
     * @param {TimeContext | undefined} [from]
     * @param {TimeContext | undefined} [to]
     * @param {number | undefined} [duration]
     */
    constructor(_year?: number, _month?: number, _dayOfMonth?: number, _hour?: number, _minutes?: number, _timeZone?: string, approximate?: boolean, approximateTime?: boolean, from?: TimeContext | undefined, to?: TimeContext | undefined, duration?: number | undefined);
    /**
     * @type EdtfDate | undefined
     */
    date: EdtfDate | undefined;
    /**
     * @type EdtfInterval | undefined
     */
    interval: EdtfInterval | undefined;
    /**
     * @type EdtfDuration | undefined
     */
    duration: EdtfDuration | undefined;
    /**
     * @type RR0TimeMessages
     */
    messages: RR0TimeMessages;
    /**
     * @return {EdtfDate | undefined}
     */
    get from(): EdtfDate | undefined;
    /**
     * @return {EdtfDate | undefined}
     */
    get to(): EdtfDate | undefined;
    /**
     *
     * @param {boolean} approx
     */
    set approximate(approx: boolean);
    /**
     * @return {boolean}
     */
    get approximate(): boolean;
    /**
     * @return {boolean}
     */
    get approximateTime(): boolean;
    /**
     * @param {string} timeStr
     * @return If the string could be parsed
     */
    updateFromStr(timeStr: string): boolean;
    /**
     *
     * @return {number | undefined}
     */
    getYear(): number | undefined;
    /**
     * @param {number | undefined} year
     * @param {boolean} [print]
     * @return {TimeContext}
     */
    setYear(year: number | undefined, print?: boolean): TimeContext;
    /**
     * @return {number | undefined}
     */
    getMonth(): number | undefined;
    /**
     *
     * @param {number | undefined} month
     * @param {boolean} [print]
     * @return {TimeContext}
     */
    setMonth(month: number | undefined, print?: boolean): TimeContext;
    /**
     * @return {number | undefined}
     */
    getDayOfMonth(): number | undefined;
    /**
     * @param {number | undefined} dayOfMonth
     * @param {boolean} [print]
     * @return {TimeContext}
     */
    setDayOfMonth(dayOfMonth: number | undefined, print?: boolean): TimeContext;
    /**
     * @return {number | undefined}
     */
    getHour(): number | undefined;
    /**
     *
     * @param {number | undefined} hour
     * @param {boolean} [print]
     * @return {TimeContext}
     */
    setHour(hour: number | undefined, print?: boolean): TimeContext;
    /**
     * @return {number | undefined}
     */
    getMinutes(): number | undefined;
    /**
     * @param {number | undefined} minutes
     * @return {TimeContext}
     */
    setMinutes(minutes: number | undefined): TimeContext;
    /**
     * @deprecated
     * @return {string | undefined}
     */
    getTimeZone(): string | undefined;
    /**
     * @return {string | undefined}
     */
    getTimeshift(): string | undefined;
    /**
     * @param {string | undefined} timeZone
     * @return {TimeContext}
     */
    setTimeZone(timeZone: string | undefined): TimeContext;
    /**
     * @return {boolean}
     */
    isDefined(): boolean;
    /**
     * @return {TimeContext}
     */
    clone(): TimeContext;
    /**
     *
     * @return {this}
     */
    reset(): this;
    /**
     * @param {TimeContext} other
     * @return {boolean}
     */
    isBefore(other: TimeContext): boolean;
    /**
     * @param {TimeContext} other
     * @return {boolean}
     */
    isAfter(other: TimeContext): boolean;
    /**
     * @param {TimeContext} other
     * @return {boolean}
     */
    equals(other: TimeContext): boolean;
    /**
     * @return {string}
     */
    toString(): string;
    /**
     * @return {string}
     */
    toJSON(): string;
    /**
     * @protected
     * @param {any} value
     */
    protected isSet(value: any): boolean;
}
import { Level2Date as EdtfDate } from "@rr0/time";
import { Level2Interval as EdtfInterval } from "@rr0/time";
import { Level2Duration as EdtfDuration } from "@rr0/time";
