import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { NgbDatepickerI18n, NgbCalendar } from '@ng-bootstrap/ng-bootstrap';
import { TasksService } from 'ngx-obelisco-example/core/services';
import { DatePickerTask, DatepickerDate } from 'ngx-obelisco-example/core/models';
import * as i0 from "@angular/core";
export declare class I18n {
    language: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<I18n, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<I18n>;
}
export declare class CustomDatepickerI18n extends NgbDatepickerI18n {
    private _i18n;
    constructor(_i18n: I18n);
    getWeekdayLabel(weekday: number): string;
    getWeekLabel(): string;
    getMonthShortName(month: number): string;
    getMonthFullName(month: number): string;
    getDayAriaLabel(date: DatepickerDate): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<CustomDatepickerI18n, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CustomDatepickerI18n>;
}
export declare class ODatepickerComponent implements OnInit, OnDestroy {
    private calendar;
    private taskService;
    isPopUp: boolean;
    firstDayOfWeek: number;
    outsideDays: 'visible' | 'hidden';
    minDate: DatepickerDate;
    maxDate: DatepickerDate;
    startDate: DatepickerDate;
    disabledWeekends: boolean;
    disabledDates: DatepickerDate[];
    dateSelected: EventEmitter<DatepickerDate>;
    taskSelected: EventEmitter<DatePickerTask[]>;
    model: DatepickerDate;
    private onDestroy$;
    constructor(calendar: NgbCalendar, taskService: TasksService);
    ngOnInit(): void;
    selectToday(): void;
    isWeekend(date: DatepickerDate): boolean;
    isDisabled(date: DatepickerDate, current: {
        month: number;
    }): boolean;
    isDateDisabled(date: DatepickerDate): boolean;
    hasTask(date: DatepickerDate): boolean;
    showTasks(date: DatepickerDate, event: MouseEvent): void;
    dateHasTask(date: DatepickerDate): boolean;
    gettaskSelected(selectedDate: DatepickerDate): DatePickerTask[];
    onDateChange(newDate: DatepickerDate): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ODatepickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ODatepickerComponent, "o-datepicker", never, { "isPopUp": "isPopUp"; "firstDayOfWeek": "firstDayOfWeek"; "outsideDays": "outsideDays"; "minDate": "minDate"; "maxDate": "maxDate"; "startDate": "startDate"; "disabledWeekends": "disabledWeekends"; "disabledDates": "disabledDates"; }, { "dateSelected": "dateSelected"; "taskSelected": "taskSelected"; }, never, never, false>;
}
