import { OnInit, OnChanges, AfterViewInit, ChangeDetectorRef, SimpleChanges, EventEmitter, QueryList, OnDestroy } from '@angular/core';
import { ScheduleDataSource } from '../../types/datasource.type';
import { GenerateEventsService } from '../../services/generate-events.service';
import { SlotSettingsType } from '../../types/slot-settings.type';
import { WorkScaleType } from '../../types/work-scale.type';
import { EventService } from '../../services/event.service';
import { WorkScaleService } from '../../services/work-scale.service';
import * as i0 from "@angular/core";
export declare class ViewDayComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
    private changeDetectionRef;
    private generateEvents;
    private eventService;
    private workScaleService;
    currentDate: Date;
    statusConfig: {
        StatusType: any;
    };
    typesConfig: any;
    showNowIndicator: boolean;
    slotSettings: SlotSettingsType;
    workScale: WorkScaleType | WorkScaleType[];
    slatNumberRowsAsArray: Array<Number>;
    texts: {
        views: {
            day: string;
            week: string;
            month: string;
            workWeek: string;
            dayList: string;
            weekList: string;
        };
        buttons: {
            addEvent: string;
        };
        scaleNotFound: string;
    };
    events: ScheduleDataSource[];
    scheduleSlats: QueryList<any>;
    onRowDbClick: EventEmitter<any>;
    onRowClick: EventEmitter<any>;
    onEventDbClick: EventEmitter<any>;
    onEventClick: EventEmitter<any>;
    onEventMouseover: EventEmitter<any>;
    onEventMouseout: EventEmitter<any>;
    onEventContextmenu: EventEmitter<any>;
    nowIndicatorPositionTop: number;
    timesCollection: Array<Array<Date>>;
    currentTime: Date;
    indexRowSelected: any;
    eventsWithPositions: {
        positions: {
            id: string;
            top: number;
            left: number;
            height: number;
            width: number;
        };
        data: ScheduleDataSource;
    }[];
    private subscriptions;
    constructor(changeDetectionRef: ChangeDetectorRef, generateEvents: GenerateEventsService, eventService: EventService, workScaleService: WorkScaleService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    rowDbClick(time: any, index: any, periodIndex: any): void;
    rowClick(time: any, index: any, periodIndex: any, scheduleRow: any): void;
    private inicializeNowIndicator;
    private generateEventsPositions;
    private createWorkScaleByEvents;
    private addMiddleScales;
    private reduceScales;
    private removeSameStartAndEndSacalesTime;
    private removeNextSameStartAndEndSacalesTime;
    private reduceBeforeScale;
    private reduceAfterScale;
    private sortScaleByStart;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ViewDayComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ViewDayComponent, "tl-view-day", never, { "currentDate": "currentDate"; "statusConfig": "statusConfig"; "typesConfig": "typesConfig"; "showNowIndicator": "showNowIndicator"; "slotSettings": "slotSettings"; "workScale": "workScale"; "slatNumberRowsAsArray": "slatNumberRowsAsArray"; "texts": "texts"; "events": "events"; }, { "onRowDbClick": "onRowDbClick"; "onRowClick": "onRowClick"; "onEventDbClick": "onEventDbClick"; "onEventClick": "onEventClick"; "onEventMouseover": "onEventMouseover"; "onEventMouseout": "onEventMouseout"; "onEventContextmenu": "onEventContextmenu"; }, never, never, false, never>;
}
//# sourceMappingURL=view-day.component.d.ts.map