import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { DatePipe, Location } from '@angular/common';
import { ActivatedRoute, Router } from '@angular/router';
import { ClrDatagridSortOrder } from '@clr/angular';
import { ComponentModel, ComponentService, ErrorHandlerService, ErrorRecord, NavigationService, OnTaurusModelChange, OnTaurusModelError, OnTaurusModelInit, OnTaurusModelLoad, RouterService, TaurusBaseComponent } from '@versatiledatakit/shared';
import { FiltersSortManager } from '../../../../../commons';
import { DataJobsService } from '../../../../../services';
import { GridDataJobExecution } from '../model/data-job-execution';
import { ExecutionsFilterCriteria, ExecutionsSortCriteria } from '../model/executions-filters.model';
import { GridCriteriaAndComparator } from '../data-job-executions-grid';
import * as i0 from "@angular/core";
interface SelectedDateTimePeriod {
    from: Date;
    to: Date;
}
export declare class DataJobExecutionsPageComponent extends TaurusBaseComponent implements OnTaurusModelInit, OnTaurusModelLoad, OnTaurusModelChange, OnTaurusModelError, OnInit, OnDestroy {
    private readonly routerService;
    private readonly dataJobsService;
    private readonly errorHandlerService;
    private readonly changeDetectorRef;
    private readonly router;
    private readonly location;
    private readonly datePipe;
    readonly uuid = "DataJobExecutionsPageComponent";
    teamName: string;
    jobName: string;
    isJobEditable: boolean;
    jobExecutions: GridDataJobExecution[];
    filteredJobExecutions: GridDataJobExecution[];
    minJobExecutionTime: Date;
    loading: boolean;
    initialLoading: boolean;
    /**
     * ** Selected DateTime period in time period filter.
     */
    selectedPeriod: SelectedDateTimePeriod;
    /**
     * ** Indicates whether time filter is chosen, period is selected.
     */
    isPeriodSelected: boolean;
    /**
     * ** Zoomed DateTime period, in duration chart.
     */
    zoomedPeriod: SelectedDateTimePeriod;
    /**
     * ** Focused (highlighted) execution id in duration chart.
     */
    highlightedExecutionId: string;
    /**
     * ** Grid Criteria and Comparator from Executions Data Grid.
     */
    gridCriteriaAndComparator: GridCriteriaAndComparator;
    /**
     * ** Array of error code patterns that component should listen for in errors store.
     */
    listenForErrorPatterns: string[];
    /**
     * ** Flag that indicates there is jobs executions load error.
     */
    isComponentInErrorState: boolean;
    /**
     * ** Executions filters sort manager for this page, that is injected to its children.
     *
     *      - Singleton for the page instance including its children.
     */
    readonly filtersSortManager: Readonly<FiltersSortManager<ExecutionsFilterCriteria, string, ExecutionsSortCriteria, ClrDatagridSortOrder>>;
    /**
     * ** Url state manager in context of this page.
     *
     *      - Singleton for the page instance including its children.
     */
    private readonly urlStateManager;
    /**
     * ** Constructor.
     */
    constructor(componentService: ComponentService, navigationService: NavigationService, activatedRoute: ActivatedRoute, routerService: RouterService, dataJobsService: DataJobsService, errorHandlerService: ErrorHandlerService, changeDetectorRef: ChangeDetectorRef, router: Router, location: Location, datePipe: DatePipe);
    doNavigateBack(): void;
    timeFilterChange(selectedPeriod: SelectedDateTimePeriod): void;
    /**
     * ** Executed whenever focus on execution id in duration chart changes.
     */
    durationChartExecutionIdFocusChange(executionId: string): void;
    durationChartZoomPeriodChange(zoomedPeriod: SelectedDateTimePeriod): void;
    gridCriteriaAndComparatorChange($event: GridCriteriaAndComparator): void;
    refresh(): void;
    fetchDataJobExecutions(): void;
    /**
     * @inheritDoc
     */
    onModelInit(): void;
    /**
     * @inheritDoc
     */
    onModelLoad(): void;
    /**
     * @inheritDoc
     */
    onModelChange(model: ComponentModel, task: string): void;
    /**
     * @inheritDoc
     */
    onModelError(model: ComponentModel, _task: string, newErrorRecords: ErrorRecord[]): void;
    /**
     * @inheritDoc
     */
    ngOnInit(): void;
    /**
     * @inheritDoc
     */
    ngOnDestroy(): void;
    private _initialize;
    private _initializeFiltersSortManager;
    private _subscribeForExecutions;
    private _filterExecutions;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataJobExecutionsPageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DataJobExecutionsPageComponent, "lib-data-job-executions-page", never, {}, {}, never, never>;
}
export {};
