import { AfterViewInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { BaseDashboard } from '@memberjunction/ng-shared';
import { ResourceData } from '@memberjunction/core-entities';
import { TabConfig, FilterFieldConfig } from '@memberjunction/ng-ui-components';
import { SchedulingInstrumentationService } from './services/scheduling-instrumentation.service';
import { SchedulingOverviewComponent } from './components/scheduling-overview.component';
import { SchedulingJobsComponent } from './components/scheduling-jobs.component';
import { SchedulingActivityComponent } from './components/scheduling-activity.component';
import * as i0 from "@angular/core";
export declare class SchedulingDashboardComponent extends BaseDashboard implements AfterViewInit, OnDestroy {
    private cdr;
    private schedulingService;
    IsLoading: boolean;
    ActiveTab: string;
    DashboardState: Record<string, unknown>;
    JobsState: Record<string, unknown>;
    ActivityState: Record<string, unknown>;
    private visitedTabs;
    private stateChangeSubject;
    ActiveJobCount: number;
    AlertCount: number;
    /** ViewChild references to the active inner tab component — drive the toolbar UI rendered in <mj-page-header>. */
    overviewCmp?: SchedulingOverviewComponent;
    jobsCmp?: SchedulingJobsComponent;
    activityCmp?: SchedulingActivityComponent;
    private kpiSub;
    private alertSub;
    get Tabs(): TabConfig[];
    constructor(cdr: ChangeDetectorRef, schedulingService: SchedulingInstrumentationService);
    GetResourceDisplayName(data: ResourceData): Promise<string>;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private loadSidebarCounts;
    OnTabChange(tabId: string): void;
    HasVisited(tabId: string): boolean;
    get JobsFilterFields(): FilterFieldConfig[];
    get JobsFilterValues(): Record<string, unknown>;
    get JobsActiveFilterCount(): number;
    onJobsFilterValuesChange(v: Record<string, unknown>): void;
    resetJobsFilters(): void;
    get ActivityFilterFields(): FilterFieldConfig[];
    get ActivityFilterValues(): Record<string, unknown>;
    get ActivityActiveFilterCount(): number;
    onActivityFilterValuesChange(v: Record<string, unknown>): void;
    resetActivityFilters(): void;
    private setupStateManagement;
    private emitStateChange;
    OnDashboardStateChange(state: Record<string, unknown>): void;
    OnJobsStateChange(state: Record<string, unknown>): void;
    OnActivityStateChange(state: Record<string, unknown>): void;
    initDashboard(): void;
    loadData(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SchedulingDashboardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SchedulingDashboardComponent, "mj-scheduling-dashboard", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=scheduling-dashboard.component.d.ts.map