export type TimePeriod = 'am' | 'pm';
export type TimeState = 'day' | 'night';
export type TimeFormat = 't' | 'T' | 'tt' | 'TT' | 'ttt' | 'TTT';
declare class Time {
    /**
     * Hour in 24-hour format
     */
    hour: number;
    /**
     * Minute
     */
    minute: number;
    /**
     * Second
     */
    second: number;
    /**
     * Millisecond
     */
    millisecond: number;
    /**
     * Time string in format 'hh:mm:ss:ms am/pm'
     */
    private _time;
    /**
     * Period of the day - am or pm
     */
    private _period;
    /**
     * State of the day - day or night
     */
    private _state;
    /**
     * Format of the time string
     *
     * t - 12-hour format
     * T - 24-hour format
     * tt - 12-hour format with seconds
     * TT - 24-hour format with seconds
     * ttt - 12-hour format with seconds and milliseconds
     * TTT - 24-hour format with seconds and milliseconds
     */
    private _format;
    /**
     * @param time - Time string in format 'hh:mm:ss:ms am/pm'
     */
    constructor(time?: string);
    /**
     * Parse the time from string
     */
    private _parseTime;
    /**
     * Parse the state of the day
     */
    private _parseState;
    /**
     * Set the time output format
     */
    setFormat(format: TimeFormat): this;
    /**
     * Set the time period and hour of the day
     */
    setPeriodHour(hour: number, period?: TimePeriod | null): this;
    /**
     * Set the time hour
     */
    setHour(hour: number): this;
    /**
     * Set the time minute
     */
    setMinute(minute: number): this;
    /**
     * Set the time seconds
     */
    setSecond(second: number): this;
    /**
     * Set the time milliseconds
     */
    setMillisecond(millisecond: number): this;
    /**
     * Get the time period hour
     */
    getPeriodHour(): number;
    /**
     * Get the time period of the day
     */
    getPeriod(): TimePeriod;
    /**
     * Get the time state of the day
     */
    getState(): TimeState;
    /**
     * Return the fime formated in string
     */
    toString(): string;
    /**
     * Parse the time string
     */
    parse(time?: string): this;
    /**
     * Get the current time
     */
    static now(): Time;
    /**
     * Parse the time string
     */
    static parse(time: string): Time;
}
export default Time;
