import { EventEmitter, AfterViewInit, SimpleChanges, OnInit, OnChanges } from '@angular/core';
import { NgbCalendarIslamicUmalqura, NgbDatepickerI18n, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';
import { DataService } from '../../../services/data/data.service';
import * as i0 from "@angular/core";
export declare class IslamicI18n extends NgbDatepickerI18n {
    toArabicNumber(value: string | number): string;
    getMonthShortName(month: number): string;
    getMonthFullName(month: number): string;
    getWeekdayLabel(weekday: number): string;
    getDayAriaLabel(date: NgbDateStruct): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<IslamicI18n, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<IslamicI18n>;
}
export declare class HijriDatepickerComponent implements AfterViewInit, OnInit, OnChanges {
    private dataService;
    calendar: NgbCalendarIslamicUmalqura;
    model: NgbDateStruct;
    type: 'date' | 'month' | 'datetime' | 'time';
    value: any;
    min: any;
    max: any;
    languageCode: any;
    dateChange: EventEmitter<any>;
    datepickerRef?: any;
    months: string[];
    years: number[];
    hour: number;
    minute: number;
    hours: number[];
    minutes: number[];
    minDate: NgbDateStruct;
    maxDate: NgbDateStruct;
    today: NgbDateStruct;
    constructor(dataService: DataService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    setInitialDateFromValue(): void;
    generateYears(): void;
    onDateChange(date: NgbDateStruct): void;
    onMonthChange(): void;
    onTimeChange(): void;
    emitDateTime(): void;
    toArabicNumber(value: string | number): string;
    applyArabicNumerals(): void;
    onNavigate(): void;
    private parseToHijriDate;
    static ɵfac: i0.ɵɵFactoryDeclaration<HijriDatepickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HijriDatepickerComponent, "app-hijri-datepicker", never, { "type": { "alias": "type"; "required": false; }; "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "languageCode": { "alias": "languageCode"; "required": false; }; }, { "dateChange": "dateChange"; }, never, never, true, never>;
}
