import { OnInit, EventEmitter, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { Color } from "chroma-js";
import { default as Calendar, IOptions, ISchedule, ITheme } from 'tui-calendar';
import { CalendarOptions } from './calendar-options';
import * as i0 from "@angular/core";
export declare class NgxMatTuiCalendarComponent implements OnInit, OnChanges, OnDestroy {
    dialog: MatDialog;
    iconToday: import("@fortawesome/fontawesome-common-types").IconDefinition;
    iconPrev: import("@fortawesome/fontawesome-common-types").IconDefinition;
    iconNext: import("@fortawesome/fontawesome-common-types").IconDefinition;
    iconLongPrev: import("@fortawesome/fontawesome-common-types").IconDefinition;
    iconLongNext: import("@fortawesome/fontawesome-common-types").IconDefinition;
    iconByMonth: import("@fortawesome/fontawesome-common-types").IconDefinition;
    iconByWeek: import("@fortawesome/fontawesome-common-types").IconDefinition;
    iconByDay: import("@fortawesome/fontawesome-common-types").IconDefinition;
    calendar: Calendar;
    calendarIdDefault: string;
    colors: Color[];
    colorIndex: number;
    userCreatedSchedule: EventEmitter<ISchedule>;
    userUpdatedSchedule: EventEmitter<ISchedule>;
    userDeletedSchedule: EventEmitter<ISchedule>;
    options: CalendarOptions;
    appliedOptions: CalendarOptions;
    constructor(dialog: MatDialog);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onCalendarLongPrev(): void;
    onCalendarPrev(): void;
    onCalendarToday(): void;
    onCalendarNext(): void;
    onCalendarLongNext(): void;
    onMonthView(): void;
    onWeekView(): void;
    onDayView(): void;
    getDate(): string;
    createTUICalendar(iopts?: IOptions): void;
    bindCallbacks(): void;
    bindAfterRenderSchedule(): void;
    bindClickTimezonesCollapseBtn(): void;
    bindClickDayname(): void;
    bindClickMore(): void;
    bindClickSchedule(): void;
    bindBeforeCreateSchedule(): void;
    bindBeforeUpdateSchedule(): void;
    bindBeforeDeleteSchedule(): void;
    nextColor(): string;
    createScheduleAndNotifyParent(args: ISchedule): ISchedule;
    createSchedules(schedules: ISchedule[]): any[];
    createSchedule(args: ISchedule): ISchedule;
    updateScheduleAndNotifyParent(args: ISchedule): ISchedule;
    updateSchedule(schedule: ISchedule): ISchedule;
    getSchedule(args: {
        id: string;
        calendarId: string;
    }): ISchedule;
    deleteScheduleAndNotifyParent(args: {
        id: string;
        calendarId: string;
    }): void;
    deleteSchedule(args: {
        id: string;
        calendarId: string;
    }): void;
    deleteAllSchedules(): void;
    openPopupScheduleEditor(schedule: ISchedule): void;
    setDefaultOptions(): void;
    setOptions(o?: CalendarOptions): void;
    setIOptions(ioptionsIn: IOptions): IOptions;
    preprocessIOptions(ioptions: IOptions): IOptions;
    getDefaultIOptions(): IOptions;
    getColor(name: string): string;
    getDefaultTheme(): ITheme;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatTuiCalendarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatTuiCalendarComponent, "ngx-mat-tui-calendar", never, { "options": "options"; }, { "userCreatedSchedule": "userCreatedSchedule"; "userUpdatedSchedule": "userUpdatedSchedule"; "userDeletedSchedule": "userDeletedSchedule"; }, never, never>;
}
