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 { IMyMarkedDates } from "../interfaces/my-marked-dates.interface";
import { IMyMarkedDate } from "../interfaces/my-marked-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): boolean;
    isDisabledMonth(year: number, month: number, daysInMonth: number, options: IMyOptions): boolean;
    isDisabledYear(year: number, options: IMyOptions): boolean;
    isDisabledByDisableUntil(date: IMyDate, disableUntil: IMyDate): boolean;
    isDisabledByDisableSince(date: IMyDate, disableSince: IMyDate): boolean;
    isDisabledByDisableDateRange(dateBegin: IMyDate, dateEnd: IMyDate, disableDateRanges: Array<IMyDateRange>): boolean;
    isMarkedDate(date: IMyDate, markedDates: Array<IMyMarkedDates>, markWeekends: IMyMarkedDate): IMyMarkedDate;
    isHighlightedDate(date: IMyDate, sunHighlight: boolean, satHighlight: boolean, highlightDates: Array<IMyDate>): boolean;
    getWeekNumber(date: IMyDate): number;
    getDateModel(date: IMyDate, dateRange: IMyDateRange, dateFormat: string, monthLabels: IMyMonthLabels, rangeDelimiter: string, dateStr?: string): IMyDateModel;
    formatDate(date: IMyDate, dateFormat: string, monthLabels: 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;
    isDateInRange(date: IMyDate, dateRange: IMyDateRange): boolean;
    resetDate(): IMyDate;
    getTimeInMilliseconds(date: IMyDate): number;
    getDate(date: IMyDate): Date;
    getToday(): IMyDate;
    getDayNumber(date: IMyDate): number;
    getWeekdayIndex(wd: string): number;
    getEpocTime(date: IMyDate): number;
    getSelectedValue(selectedValue: any, dateRange: boolean): any;
    getKeyCodeFromEvent(evt: any): number;
    checkKeyName(key: string, keyName: string): boolean;
}
