import { OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { Title } from '@angular/platform-browser';
import { ToastrService } from 'ngx-toastr';
import { Subscription } from 'rxjs';
import { Feedback, WidgetConfiguration } from '../../../interfaces/WidgetInterfaces';
import { AppStateService } from '../../../services/AppStateService';
import { ClientSettingsService } from '../../../services/ClientSettingsService';
import { DisplayStateService } from '../../../services/DisplayStateService';
import { WebPlatformApiService } from '../../../services/WebPlatformApiService';
import { BreadCrumb, OrderedWidget, WidgetDisplayGroup } from './classes';
export declare class GroupDisplayComponent implements OnInit, OnDestroy {
    private DisplayStateService;
    toastr: ToastrService;
    private webPlatformApiService;
    private clientSettingsService;
    private appStateService;
    private titleService;
    private widgetRegistrationComponent;
    contextBreadCrumbs: BreadCrumb[];
    filterBreadCrumbs: BreadCrumb[];
    sortBreadCrumbs: BreadCrumb[];
    statechanged$: Subscription;
    matchingWidgetConfigs: WidgetConfiguration[];
    width: string;
    isMaximized: boolean;
    widgetDisplayGroups: WidgetDisplayGroup[];
    tempWidgetDisplayGroup: WidgetDisplayGroup[];
    hiddenWidgets: WidgetDisplayGroup[];
    currentGroupContextKey: string;
    showBreadCrumbs: boolean;
    enablePrintMode: boolean;
    widgetAsApp: boolean;
    widgetAsAppRestricted: boolean;
    hideWidgetTabs: boolean;
    selectedWidget: WidgetConfiguration;
    feedback: Feedback;
    feedbacks: Feedback[];
    showSideNav: boolean;
    supportInfo: any[];
    widgetContainer: TemplateRef<any>;
    constructor(DisplayStateService: DisplayStateService, toastr: ToastrService, vcr: ViewContainerRef, webPlatformApiService: WebPlatformApiService, clientSettingsService: ClientSettingsService, appStateService: AppStateService, titleService: Title);
    ngOnInit(): void;
    SetBreadcrumbsFromDisplayState(): void;
    onSupportInfo(widget: WidgetConfiguration): void;
    onCreateFeedback(widget: WidgetConfiguration): void;
    saveFeedback(feedback: Feedback): void;
    onTakePicture(idx: string, tabName: string, event: any): void;
    ClearFilterSorts(): void;
    over(s: any): void;
    SaveLayout(): void;
    InitSelectionModal(): void;
    HideBreadCrumbs(): void;
    deselected(widgetName: string): void;
    selected(widgetName: string): void;
    sendWidgetMessage(messageName: string, widgetName: string): void;
    WidthOf(g: WidgetDisplayGroup): string;
    HeightOf(g: WidgetDisplayGroup, i: number): "auto" | "calc(100vh - 180px)" | "40vh" | "25vh";
    SetDefaultWidth(): void;
    ResetGroupWidths(): void;
    ngOnDestroy(): void;
    DeleteContext(s: string): void;
    DeleteFilter(s: string): void;
    DeleteSort(s: string): void;
    onSeeFeedback(widget: WidgetConfiguration): void;
    private postDataToMiddleLayer(feedback);
    private makeMongoCall(data);
    private BuildBreadCrumbs();
    private WidgetDecision(wr, wConfig, ctxt);
    private UserCurrentGroupedWidgets();
    private GetWidgetGroups();
    private HiddenGroupWidgetNames();
    private BuildDisplay();
    private handleWidgetStats(widgetName);
    TabName(orderedWidget: OrderedWidget): string;
    CheckDifferences(): boolean;
    private save(snapshot, tabName, $event);
    clickPrevContext(key: string, prevContextVal: string): void;
    checkUserAccess(wc: WidgetConfiguration): boolean;
}
export declare class Comment {
    commentText: string;
    userName: string;
}
