import { Location } from '@angular/common';
import { ChangeDetectorRef, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { MatLegacyDialog as MatDialog, MatLegacyDialogConfig as MatDialogConfig } from '@angular/material/legacy-dialog';
import { MatLegacyTabGroup as MatTabGroup } from '@angular/material/legacy-tabs';
import { ActivatedRoute, Router } from '@angular/router';
import { RpxTranslatePipe } from 'rpx-xui-translation';
import { Observable, Subscription } from 'rxjs';
import { NotificationBannerConfig } from '../../../../components/banners/notification-banner';
import { Activity, CaseField, CaseTab, CaseView, CaseViewTrigger, DisplayMode } from '../../../domain';
import { ActivityPollingService, AlertService, DraftService, ErrorNotifierService, LoadingService, NavigationNotifierService, OrderService, SessionStorageService } from '../../../services';
import { ConvertHrefToRouterService } from '../../case-editor/services/convert-href-to-router.service';
import { CallbackErrorsContext } from '../../error';
import { LinkedCasesService } from '../../palette/linked-cases/services';
import { CaseFlagStateService } from '../../case-editor/services/case-flag-state.service';
import * as i0 from "@angular/core";
export declare class CaseFullAccessViewComponent implements OnInit, OnDestroy, OnChanges {
    private readonly ngZone;
    private readonly route;
    private readonly router;
    private readonly navigationNotifierService;
    private readonly orderService;
    private readonly activityPollingService;
    private readonly dialog;
    private readonly alertService;
    private readonly draftService;
    private readonly errorNotifierService;
    private readonly convertHrefToRouterService;
    private readonly location;
    private readonly crf;
    private readonly sessionStorageService;
    private readonly rpxTranslationPipe;
    private readonly loadingService;
    private readonly linkedCasesService;
    private readonly caseFlagStateService;
    static readonly ORIGIN_QUERY_PARAM = "origin";
    static readonly TRIGGER_TEXT_START = "Go";
    static readonly TRIGGER_TEXT_CONTINUE = "Ignore Warning and Go";
    static readonly UNICODE_SPACE = "%20";
    static readonly EMPTY_SPACE = " ";
    private readonly HEARINGS_TAB_LABEL;
    hasPrint: boolean;
    hasEventSelector: boolean;
    caseDetails: CaseView;
    prependedTabs: CaseTab[];
    appendedTabs: CaseTab[];
    BANNER: DisplayMode;
    sortedTabs: CaseTab[];
    caseFields: CaseField[];
    formGroup: FormGroup;
    error: any;
    triggerTextStart: string;
    triggerTextIgnoreWarnings: string;
    triggerText: string;
    ignoreWarning: boolean;
    activitySubscription: Subscription;
    caseSubscription: Subscription;
    errorSubscription: Subscription;
    dialogConfig: MatDialogConfig;
    message: string;
    subscription: Subscription;
    notificationBannerConfig: NotificationBannerConfig;
    selectedTabIndex: number;
    activeCaseFlags: boolean;
    caseFlagsExternalUser: boolean;
    private readonly caseFlagsReadExternalMode;
    private subs;
    eventId: string;
    isEventButtonClicked: boolean;
    callbackErrorsSubject: Observable<any>;
    tabGroup: MatTabGroup;
    constructor(ngZone: NgZone, route: ActivatedRoute, router: Router, navigationNotifierService: NavigationNotifierService, orderService: OrderService, activityPollingService: ActivityPollingService, dialog: MatDialog, alertService: AlertService, draftService: DraftService, errorNotifierService: ErrorNotifierService, convertHrefToRouterService: ConvertHrefToRouterService, location: Location, crf: ChangeDetectorRef, sessionStorageService: SessionStorageService, rpxTranslationPipe: RpxTranslatePipe, loadingService: LoadingService, linkedCasesService: LinkedCasesService, caseFlagStateService: CaseFlagStateService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private setCaseInfo;
    isPrintEnabled(): boolean;
    ngOnDestroy(): void;
    unsubscribe(subscription: any): void;
    private checkRouteAndSetCaseViewTab;
    postViewActivity(): Observable<Activity[]>;
    clearErrorsAndWarnings(): void;
    applyTrigger(trigger: CaseViewTrigger): Promise<void>;
    hasTabsPresent(): boolean;
    callbackErrorsNotify(callbackErrorsContext: CallbackErrorsContext): void;
    isDraft(): boolean;
    isTriggerButtonDisabled(): boolean;
    organiseTabPosition(): void;
    findPreSelectedActiveTab(): CaseTab;
    tabChanged(tabIndexChanged: number): void;
    onLinkClicked(triggerOutputEventText: string): void;
    hasActiveCaseFlags(): boolean;
    /**
     * Indicates that a CaseField is to be displayed without a label, as is expected for all ComponentLauncher-type
     * fields.
     * @param caseField The `CaseField` instance to check
     * @returns `true` if it should not have a label; `false` otherwise
     */
    isFieldToHaveNoLabel(caseField: CaseField): boolean;
    private init;
    private sortTabFieldsAndFilterTabs;
    private getTabFields;
    /**
     * For EUI-3825:
     * Builds a FormGroup from all the CaseFields contained within the view.
     * This FormGroup is necessary for evaluation the show/hide conditions of
     * fields that are dependent on a field only available on a DIFFERENT tab.
     */
    private buildFormGroup;
    private resetErrors;
    static ɵfac: i0.ɵɵFactoryDeclaration<CaseFullAccessViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CaseFullAccessViewComponent, "ccd-case-full-access-view", never, { "hasPrint": { "alias": "hasPrint"; "required": false; }; "hasEventSelector": { "alias": "hasEventSelector"; "required": false; }; "caseDetails": { "alias": "caseDetails"; "required": false; }; "prependedTabs": { "alias": "prependedTabs"; "required": false; }; "appendedTabs": { "alias": "appendedTabs"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=case-full-access-view.component.d.ts.map