/**
 * FdDate class is used to represent date and time.
 *
 * It's a simplified analog of native Date instance.
 * It gives some convenience methods to work with date or time data.
 *
 */
export declare class FdDate {
    /**
     * The year of the date.
     */
    year: number;
    /**
     * The month of the date. 1 = January, 12 = December.
     */
    month: number;
    /**
     * Day of the date. Starts at 1.
     */
    day: number;
    /**
     * Date hours. 0 - 23.
     */
    hour: number;
    /**
     * Date minutes. 0 - 59.
     */
    minute: number;
    /**
     * Date seconds. 0 - 59.
     */
    second: number;
    /**
     * Validation state
     */
    /** @hidden */
    private _isValid;
    /**
     * Create FdDate
     * @param year e.g. 2020
     * @param month 1 = January, 12 = December
     * @param day 1 - 31
     * @param hour 0 - 23
     * @param minute 0 - 59
     * @param second 0 - 59
     */
    constructor(year?: number, month?: number, day?: number, hour?: number, minute?: number, second?: number);
    /**
     * Create FdDate instance of the current moment
     */
    static getNow(): FdDate;
    /**
     * Gets today's FdDate where hour, minute and second is set to 0
     */
    static getToday(): FdDate;
    /**
     *  Convert js date object to FdDate model
     */
    static getFdDateByDate(date: Date): FdDate;
    /**
     * Set hour, minute and second data
     * @param hour
     * @param minute
     * @param second
     */
    setTime(hour: number, minute?: number, second?: number): FdDate;
    /**
     * Get amount of milliseconds from 01.01.1970
     */
    getTimeStamp(): number;
    /**
     * Get number of weekday ex. Sunday = 1, Monday = 2, Tuesday = 3 etc.
     */
    getDayOfWeek(): number;
    /**
     * Get native date object from FdDate.
     */
    toDate(): Date;
    /**
     * Method that checks validity of current FdDate instance.
     */
    isDateValid(): boolean;
    /**
     * Get string representation in yyyy-mm-ddThh:mm:ss format
     */
    toString(): string;
    /**
     * The valueOf() method returns the primitive value of a FdDate.
     * Returns: The number of milliseconds between 1 January 1970 00:00:00 UTC and the given date.
     */
    valueOf(): number;
    /**
     * Get date string in yyyy-mm-dd format
     */
    toDateString(): string;
    /**
     * Get time string in hh:mm:ss format
     */
    toTimeString(): string;
}
