import { AfterViewChecked, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
import { CalendarView } from '@colijnit/sharedcomponents';
import { DeliveryPlanningCalendarModes } from '../../../../enum/delivery-planning-calendar-modes.enum';
import { DeliveryPlanningViewModes } from '../../../../enum/delivery-planning-view-modes.enum';
import { DeliveryPlanningService } from '../../../delivery-planning/service/delivery-planning.service';
import { TransactionService } from '../../../../service/transaction.service';
import { TransactionConnectorService } from '../../../../service/transaction-connector.service';
import { PlanningTransportWeekDay } from '@colijnit/transactionapi/build/model/planning-transport-week-day.bo';
import { PlanOrder } from '@colijnit/transactionapi/build/model/plan-order.bo';
import { TransactionDialogService } from '../../../../service/transaction-dialog.service';
import { DeliveryPlanningOverviewPopupComponent } from './component/delivery-planning-overview-popup/delivery-planning-overview-popup.component';
import { DeliveryPlanningOverviewTileComponent } from './component/delivery-planning-overview-tile/delivery-planning-overview-tile.component';
import { IconCacheService } from '../../../../service/icon-cache.service';
import { Icon } from '../../../../enum/icon.enum';
import { DeliveryPlanningTileModes } from '../../../../enum/delivery-planning-tile-modes.enum';
import { DeliveryPlanningUpdateActions } from '../../../../enum/delivery-planning-update-actions.enum';
import { PlanOrderLine } from '@colijnit/transactionapi/build/model/plan-order-line.bo';
import { DictionaryService } from '../../../../service/dictionary.service';
import { TransactionEventService } from '../../../../service/transaction-event.service';
export declare class DeliveryPlanningOverviewComponent implements AfterViewChecked, OnInit, OnDestroy {
    private _deliveryPlanningService;
    private _transaction;
    private _transactionCon;
    private _dialog;
    private _changeDetector;
    private _dictionary;
    iconCacheService: IconCacheService;
    transactionEventService: TransactionEventService;
    readonly icons: typeof Icon;
    readonly planningActions: typeof DeliveryPlanningUpdateActions;
    readonly tileModes: typeof DeliveryPlanningTileModes;
    deliveryPlanningViewModes: typeof DeliveryPlanningViewModes;
    availability: {
        transportDay: PlanningTransportWeekDay;
        available: boolean;
    }[];
    planningPopupRef: DeliveryPlanningOverviewPopupComponent;
    available: boolean;
    showNoteDialog: boolean;
    showSettingsDialog: boolean;
    tilesQueryList: QueryList<DeliveryPlanningOverviewTileComponent>;
    selectedTransportDay: PlanningTransportWeekDay;
    private _subs;
    set tiles(tiles: QueryList<DeliveryPlanningOverviewTileComponent>);
    rowContainer: HTMLDivElement;
    columnElem: HTMLDivElement;
    columnNum: number;
    set planningPopupComponent(value: DeliveryPlanningOverviewPopupComponent);
    get employeeView(): boolean;
    currentMode: DeliveryPlanningCalendarModes;
    currentViewMode: CalendarView;
    currentPlanningViewMode: DeliveryPlanningViewModes;
    updatePlanningTransportEvent: EventEmitter<{
        oldWeek: PlanningTransportWeekDay[];
        week: PlanningTransportWeekDay[];
        action: DeliveryPlanningUpdateActions;
    }>;
    resetPlanningTransportEvent: EventEmitter<void>;
    get planTransportWeekArr(): PlanningTransportWeekDay[][];
    get currentTileMode(): DeliveryPlanningTileModes;
    set currentTileMode(tileMode: DeliveryPlanningTileModes);
    currentDate(): Date;
    constructor(_deliveryPlanningService: DeliveryPlanningService, _transaction: TransactionService, _transactionCon: TransactionConnectorService, _dialog: TransactionDialogService, _changeDetector: ChangeDetectorRef, _dictionary: DictionaryService, iconCacheService: IconCacheService, transactionEventService: TransactionEventService);
    ngAfterViewChecked(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    showClass(): boolean;
    onResize(event: MouseEvent): void;
    dropped(ev: DragEvent, week: PlanningTransportWeekDay[], transportDay: PlanningTransportWeekDay, transportDays: PlanningTransportWeekDay[]): Promise<void>;
    allowDrop(ev: DragEvent, transportDay: PlanningTransportWeekDay): boolean;
    setColNum(): void;
    dragEnd(ev: DragEvent): void;
    filterWeekArray(weekArray: PlanningTransportWeekDay[]): PlanningTransportWeekDay[];
    handleDateRangeChange(newDate: Date): void;
    handleDeleteOrder(deleteResult: [PlanOrder, PlanningTransportWeekDay], planningTransportWeek: PlanningTransportWeekDay[]): Promise<void>;
    handleDeleteLine(deleteResult: {
        order: PlanOrder;
        line: PlanOrderLine;
    }, weekDay: PlanningTransportWeekDay, transportWeekRow: PlanningTransportWeekDay[]): void;
    getOrderLinesPlanned(order: PlanOrder): Promise<void>;
    getTransportOrders(transportDay: PlanningTransportWeekDay): Promise<void>;
    planOrderLines(order: PlanOrder, transportDay: PlanningTransportWeekDay, week: PlanningTransportWeekDay[]): Promise<void>;
    planSelectedLines(transportDay: PlanningTransportWeekDay, week: PlanningTransportWeekDay[]): Promise<void>;
    getSequenceOrderValue(order: PlanOrder): Promise<void>;
    handlePopupPlanEvent(event: [PlanOrder, PlanningTransportWeekDay, PlanningTransportWeekDay[]]): Promise<void>;
    handleSettingsReset(): void;
    openSettingsDialog(transportDay: PlanningTransportWeekDay): void;
    handleCalendarPlanEvent(data: {
        currentHour: string;
        data: string;
    }, transportWeekDay: PlanningTransportWeekDay, week: PlanningTransportWeekDay[]): Promise<void>;
    calculateStartTime(transportWeekDay: PlanningTransportWeekDay, currentHour: string): Date;
    calculateEndTime(startDate: Date, currentHour: string, planOrder: PlanOrder): Date;
    openPlanningPopup(planOrder: PlanOrder, transportDay: PlanningTransportWeekDay, week: PlanningTransportWeekDay[]): void;
    handleAvailabilityChecked(value: {
        transportDay: PlanningTransportWeekDay;
        available: boolean;
    }): void;
    checkAvailable(transportDay: PlanningTransportWeekDay): boolean;
    handleTimeChangeEvent(transportDay: PlanningTransportWeekDay, week: PlanningTransportWeekDay[], obj: PlanOrder): void;
    handleMoveEvent(moveData: {
        hour: string;
        scheduledObject: Object;
    }, transport: PlanningTransportWeekDay, week: PlanningTransportWeekDay[], weekArr: PlanningTransportWeekDay[][]): Promise<void>;
    handleMoveNormalEvent(transId: string, transport: PlanningTransportWeekDay, week: PlanningTransportWeekDay[], weekArr: PlanningTransportWeekDay[][]): Promise<void>;
    handleEditPlannedOrder(planOrder: PlanOrder, transportDay: PlanningTransportWeekDay, week: PlanningTransportWeekDay[]): void;
    handleMoveOrderUp(planOrder: PlanOrder, planningTransportWeek: PlanningTransportWeekDay[], transportDay: PlanningTransportWeekDay): void;
    handleMoveOrderDown(planOrder: PlanOrder, planningTransportWeek: PlanningTransportWeekDay[], transportDay: PlanningTransportWeekDay): void;
    selectTransportDay(transportDay: PlanningTransportWeekDay, transportDays: PlanningTransportWeekDay[]): void;
}
