import { OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { stylesConfig } from '../_interfaces/styles-config.model';
import { DateUtilitiesService } from '../_services/date-utilities.service';
import { TodayDate, DayInfo } from '../_interfaces/calendar-model';
import * as i0 from "@angular/core";
export declare class HijriGregorianDatepickerComponent implements OnInit, OnChanges {
    formBuilder: UntypedFormBuilder;
    _dateUtilsService: DateUtilitiesService;
    markToday: boolean;
    canChangeMode: boolean;
    todaysDateSection: boolean;
    futureValidation: boolean;
    disableYearPicker: boolean;
    disableMonthPicker: boolean;
    disableDayPicker: boolean;
    multiple: boolean;
    isRequired: boolean;
    showConfirmButton: boolean;
    futureValidationMessage: boolean;
    arabicLayout: boolean;
    mode: string;
    dir: string;
    locale: string;
    submitTextButton: string;
    todaysDateText: string;
    ummAlQuraDateText: string;
    monthSelectLabel: string;
    yearSelectLabel: string;
    futureValidationMessageEn: string;
    futureValidationMessageAr: string;
    theme?: string;
    pastYearsLimit: number;
    futureYearsLimit: number;
    styles?: stylesConfig;
    onSubmit: EventEmitter<object>;
    onDaySelect: EventEmitter<object>;
    onMonthChange: EventEmitter<object>;
    onYearChange: EventEmitter<object>;
    ummAlQuraMonths: {
        labelAr: string;
        labelEn: string;
        value: number;
    }[];
    gregMonths: {
        labelAr: string;
        labelEn: string;
        value: number;
    }[];
    ummAlQuraYear: number;
    gregYear: number;
    years: any[];
    weeks: any[];
    months: any[];
    weekdaysEn: string[];
    weekdaysAr: string[];
    todaysDate: TodayDate;
    selectedDay: DayInfo;
    periodForm: UntypedFormGroup;
    multipleSelectedDates: DayInfo[];
    themes: any;
    fontFamilyStyle: string;
    constructor(formBuilder: UntypedFormBuilder, _dateUtilsService: DateUtilitiesService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    initTheme(): void;
    initializeForm(): void;
    initializeYearsAndMonths(): void;
    onPeriodChange(type: string): void;
    getTodaysDateInfo(): void;
    generatetMonthData(date: string): void;
    generateWeeksArray(daysArray: any): any;
    changeCalendarMode(): void;
    onDayClicked(day: DayInfo): void;
    markDaySelected(dayInfo: DayInfo): void;
    onConfirmClicked(): void;
    checkFutureValidation(day: DayInfo): boolean;
    checkTodaysDate(day: DayInfo): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<HijriGregorianDatepickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HijriGregorianDatepickerComponent, "hijri-gregorian-datepicker", never, { "markToday": "markToday"; "canChangeMode": "canChangeMode"; "todaysDateSection": "todaysDateSection"; "futureValidation": "futureValidation"; "disableYearPicker": "disableYearPicker"; "disableMonthPicker": "disableMonthPicker"; "disableDayPicker": "disableDayPicker"; "multiple": "multiple"; "isRequired": "isRequired"; "showConfirmButton": "showConfirmButton"; "futureValidationMessage": "futureValidationMessage"; "arabicLayout": "arabicLayout"; "mode": "mode"; "dir": "dir"; "locale": "locale"; "submitTextButton": "submitTextButton"; "todaysDateText": "todaysDateText"; "ummAlQuraDateText": "ummAlQuraDateText"; "monthSelectLabel": "monthSelectLabel"; "yearSelectLabel": "yearSelectLabel"; "futureValidationMessageEn": "futureValidationMessageEn"; "futureValidationMessageAr": "futureValidationMessageAr"; "theme": "theme"; "pastYearsLimit": "pastYearsLimit"; "futureYearsLimit": "futureYearsLimit"; "styles": "styles"; }, { "onSubmit": "onSubmit"; "onDaySelect": "onDaySelect"; "onMonthChange": "onMonthChange"; "onYearChange": "onYearChange"; }, never, never, false, never>;
}
