/**
 * Time model.
 * Takes care of keeping records of full time.
 */
export declare class TimeModel {
    private hours;
    private minutes;
    private seconds;
    /**
     * Creates a time model.
     * @param hours - The full hours (0-23).
     * @param minutes - The minutes
     * @param seconds - The seconds
     */
    constructor(hours: number, minutes: number, seconds: number);
    /**
     * Creates an time model.
     * @param date - Javascript Date object.
     */
    constructor(date: Date);
    /**
     * Creates a time model.
     * @param date - time string in `hh:mm:ss` format.
     */
    constructor(date: string);
    /**
     * Checks if the passed value is equal to current time model.
     * @param value - Time model.
     * @returns Whether value is equal to current time model.
     */
    isEqual(value: TimeModel): boolean;
    /**
     * Checks if current time model is after value.
     * @param value - time model.
     * @returns Whether current time model is after value.
     */
    isAfter(value: TimeModel): boolean;
    /**
     * Checks if current time model is before value.
     * @param value - Time model.
     * @returns Whether current time model is before value.
     */
    isBefore(value: TimeModel): boolean;
    /**
     * Clones the current odel.
     * @returns Cloned model.
     */
    clone(): TimeModel;
    /**
     * Convert to Javascript Date object.
     * @returns Javascript Date object.
     */
    toDate(): Date;
    /**
     * To HTML5 time spec string.
     * @returns Time as HTML5 spec string.
     */
    toHTML5SpecTimeString(): string;
    private pad;
}
/**
 * Time model.
 * Takes care of keeping records of full time.
 */
export type NullableTimeModel = TimeModel | undefined | null;
