import { OnInit, ChangeDetectorRef, TemplateRef, EventEmitter, NgZone } from '@angular/core';
import { DatePipe } from '@angular/common';
import { SchedulingObject } from './model/enum/scheduling-object.interface';
export declare class HourSchedulingComponent implements OnInit {
    private cdRef;
    private datePipe;
    private zone;
    hourLabels: string[];
    scheduledObjects: {
        [hour: string]: SchedulingObject[];
    };
    activeHour: string | null;
    activeHalfHour: string | null;
    private draggedObject;
    schedule: any;
    startTimeProp: string;
    endTimeProp: string;
    objectsProp: string;
    childProp: string;
    customTemplate: TemplateRef<any>;
    customTemplateUsed: boolean;
    idProp: string;
    timeChangeEvent: EventEmitter<Object>;
    newObjectPlanEvent: EventEmitter<{
        currentHour: string;
        data: string;
    }>;
    showClass: boolean;
    constructor(cdRef: ChangeDetectorRef, datePipe: DatePipe, zone: NgZone);
    ngOnInit(): void;
    ngOnDestroy(): void;
    generateTimeBlocks(): void;
    generateScheduledObjects(): void;
    private _getObjectsForHourAndMinutes;
    onDragStart(event: DragEvent, obj: any): void;
    onCustomDragStart(event: DragEvent, obj: SchedulingObject): void;
    onDragOver(event: DragEvent): void;
    onDragLeave(event: DragEvent): void;
    onDrop(event: DragEvent, hour: string): void;
    convertToHourNotation(date: Date): string;
    createDate(hours: number, minutes?: number): Date;
    dateToUnixEpoch(date: Date): number;
    formatHour(hour: number, minutes?: number): string;
    addMinutes(hour: string): string;
    onDocumentClick(event: Event): void;
    onObjectDisplayClick(hour: string, half: 'firstHalf' | 'secondHalf'): void;
    tryParseJSONObject(jsonString: string): any;
}
