import { IMyDateModel } from "../interfaces/my-date-model.interface";
import { IMyDate } from "../interfaces/my-date.interface";
import { IMyDateRange } from "../interfaces/my-date-range.interface";
import { IMyMonth } from "../interfaces/my-month.interface";
import { IMyMonthLabels } from "../interfaces/my-month-labels.interface";
import { IMyMarkedDate } from "../interfaces/my-marked-date.interface";
import { IMyDisabledDate } from "../interfaces/my-disabled-date.interface";
import { IMyDateFormat } from "../interfaces/my-date-format.interface";
import { IMyValidateOptions } from "../interfaces/my-validate-options.interface";
import { IMyOptions } from "../interfaces/my-options.interface";
export declare class UtilService {
    weekDays: Array<string>;
    isDateValid(dateStr: string, options: IMyOptions, validateOpts: IMyValidateOptions): IMyDate;
    isDateValidDateRange(dateRangeStr: string, options: IMyOptions, validateOpts: IMyValidateOptions): IMyDateRange;
    getDateValue(dateStr: string, dateFormat: string, delimeters: Array<string>): Array<IMyDateFormat>;
    getMonthNumberByMonthName(df: IMyDateFormat, monthLabels: IMyMonthLabels): number;
    getNumberByValue(df: IMyDateFormat): number;
    parseDefaultMonth(monthString: string): IMyMonth;
    isDisabledDate(date: IMyDate, options: IMyOptions): IMyDisabledDate;
    getDisabledValue(disabled: boolean, styleClass: string): IMyDisabledDate;
    dateMatchToDates(date: IMyDate, dates: Array<IMyDate>): boolean;
    isDisabledMonth(year: number, month: number, options: IMyOptions): boolean;
    isDisabledYear(year: number, options: IMyOptions): boolean;
    isDisabledByDisableUntil(date: IMyDate, disableUntil: IMyDate): boolean;
    isDisabledByDisableSince(date: IMyDate, disableSince: IMyDate): boolean;
    isPastDatesEnabled(date: IMyDate, enableDates: Array<IMyDate>): boolean;
    isFutureDatesEnabled(date: IMyDate, enableDates: Array<IMyDate>): boolean;
    isDatesEnabled(dateBegin: IMyDate, dateEnd: IMyDate, enableDates: Array<IMyDate>): boolean;
    isDisabledByDisableDateRange(dateBegin: IMyDate, dateEnd: IMyDate, disableDateRanges: Array<IMyDateRange>): boolean;
    isMarkedDate(date: IMyDate, options: IMyOptions): IMyMarkedDate;
    getMarkedValue(marked: boolean, color: string, styleClass: string): IMyMarkedDate;
    isHighlightedDate(date: IMyDate, options: IMyOptions): boolean;
    getWeekNumber(date: IMyDate): number;
    getDateModel(date: IMyDate, dateRange: IMyDateRange, dateFormat: string, monthLabels: IMyMonthLabels, secondMonthLabels: IMyMonthLabels, rangeDelimiter: string, dateStr?: string): IMyDateModel;
    formatDate(date: IMyDate, dateFormat: string, monthLabels: IMyMonthLabels, secondMonthLabels: IMyMonthLabels): string;
    getFormattedDate(model: IMyDateModel): string;
    preZero(val: number): string;
    isInitializedDate(date: IMyDate): boolean;
    isDateEarlier(firstDate: IMyDate, secondDate: IMyDate): boolean;
    isDateSameOrEarlier(firstDate: IMyDate, secondDate: IMyDate): boolean;
    isDateSame(firstDate: IMyDate, secondDate: IMyDate): boolean;
    isDateRangeBeginOrEndSame(dateRange: IMyDateRange, date: IMyDate): boolean;
    isDateRangeBegin(dateRange: IMyDateRange, date: IMyDate): boolean;
    isDateRangeEnd(dateRange: IMyDateRange, date: IMyDate): boolean;
    isDateInRange(date: IMyDate, dateRange: IMyDateRange): boolean;
    resetDate(): IMyDate;
    getTimeInMilliseconds(date: IMyDate): number;
    getToday(): IMyDate;
    getDayNumber(date: IMyDate): number;
    getWeekdayIndex(wd: string): number;
    getEpocTime(date: IMyDate): number;
    jsDateToMyDate(date: Date): IMyDate;
    myDateToJsDate(date: IMyDate): Date;
    datesInMonth(m: number, y: number): number;
    datesInPrevMonth(m: number, y: number): number;
    getJsDate(year: number, month: number, day: number): Date;
    getSelectedValue(selectedValue: any, dateRange: boolean): any;
    getKeyCodeFromEvent(event: any): number;
    checkKeyName(key: string, keyName: string): boolean;
}
