import * as i0 from '@angular/core'; import { OnInit, EventEmitter } from '@angular/core'; import { CalendarTemplateRef } from '@fullcalendar/angular/private-types'; import { CustomButtonInput, ToolbarInput, CalendarOptions } from '@fullcalendar/core'; import * as i2 from '@angular/common'; import { WeekDay } from '@angular/common'; import * as i3 from '@angular/forms'; import * as i4 from '@fullcalendar/angular'; import * as i5 from '@sowatech/shared/template'; interface CalendarSettings { startTime: number; endTime: number; visibleDays: WeekDay[]; slotDuration: string; } interface ICalendarEvent { id: string; feed: Feed; start: Date; end?: Date; classNames: string[]; title: string; description: string; } interface ICalendarViewEvent extends ICalendarEvent { url?: string; title: string; allDay: boolean; location: string; description: string; reference: string; referenceIdent: string; } type CalendarInterval = { start: Date; end: Date; }; type PartialCalendarInterval = Partial; type ToolbarChunkPosition = 'start' | 'left' | 'center' | 'right' | 'end'; type FullCalendarTool = 'title' | 'text' | 'prev' | 'next' | 'prevYear' | 'nextYear' | 'today' | ViewMode; type ToolbarConfig = Record; type ToolbarChunkData = Array>; declare class ToolbarConfigConverter { private readonly toolbarConfig; private customButtons; private toolbar; get getCustomButtons(): Record; get getToolbar(): ToolbarInput; constructor(toolbarConfig: ToolbarConfig); private init; private getToolbarLayout; private registerCustomBtn; } type ViewMode = 'timeGridDay' | 'timeGridWeek' | 'dayGridMonth' | 'listWeek'; declare class EnoFullcalendarComponent implements OnInit { protected _eventContent?: CalendarTemplateRef<'eventContent'>; eventClick: EventEmitter>; private _data; get data(): ICalendarEvent[]; set data(value: ICalendarEvent[]); requestData: EventEmitter; initialViewMode: ViewMode; headerToolbarConfig?: ToolbarConfig; set settings(value: CalendarSettings); slotDuration: string; private startTime; private endTime; private visibleDays; private get hiddenDays(); set selectedDate(date: Date); calendarOptions?: CalendarOptions; private calendarApi?; constructor(); ngOnInit(): void; private readonly refreshDays$; refreshDays(start?: Date, end?: Date): void; private loadEvents; private configureFullCalendar; private updateEventSource; private static mapCalendarViewEvent; private static configurePlugins; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "eno-fullcalendar", never, { "data": { "alias": "data"; "required": false; }; "initialViewMode": { "alias": "initialViewMode"; "required": false; }; "headerToolbarConfig": { "alias": "headerToolbarConfig"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; }, { "eventClick": "eventClick"; "requestData": "requestData"; }, ["_eventContent"], never, false, never>; } declare class FullcalendarModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { EnoFullcalendarComponent, FullcalendarModule, ToolbarConfigConverter }; export type { CalendarInterval, FullCalendarTool, ICalendarEvent, ICalendarViewEvent, PartialCalendarInterval, ToolbarChunkData, ToolbarChunkPosition, ToolbarConfig };