import * as i0 from "@angular/core"; import { OnDestroy, OnInit } from "@angular/core"; import { Observable, Subject } from "rxjs"; import { AbstractTabData } from "@hmcts/opal-frontend-common/components/abstract/abstract-tab-data"; import { PermissionsService } from "@hmcts/opal-frontend-common/services/permissions-service"; export declare abstract class AbstractAccountSummaryBaseComponent extends AbstractTabData implements OnInit, OnDestroy { protected readonly destroy$: Subject; protected readonly refreshFragment$: Subject; protected readonly permissionsService: PermissionsService; protected readonly globalStore: { authenticated: import("@angular/core").Signal; bannerError: import("@ngrx/signals").DeepSignal<{ error: boolean | null; title: string | null; message: string | null; operationId: string | null; }>; featureFlags: import("@angular/core").Signal<{}>; userState: import("@ngrx/signals").DeepSignal; ssoEnabled: import("@angular/core").Signal; launchDarklyConfig: import("@ngrx/signals").DeepSignal; appInsightsConfig: import("@ngrx/signals").DeepSignal; tokenExpiry: import("@ngrx/signals").DeepSignal; userStateCacheExpirationMilliseconds: import("@angular/core").Signal; userStateDomain: import("@angular/core").Signal; featureFlagConfig: import("@ngrx/signals").DeepSignal; setAuthenticated: (authenticated: boolean) => void; setBannerError: (error: import("@hmcts/opal-frontend-common/stores/global/interfaces").IGlobalErrorState) => void; resetBannerError: () => void; setFeatureFlags: (featureFlags: import("launchdarkly-js-sdk-common").LDFlagSet) => void; setUserState: (userState: import("@hmcts/opal-frontend-common/services/opal-user-service/interfaces").IOpalUserState) => void; setSsoEnabled: (ssoEnabled: boolean) => void; setLaunchDarklyConfig: (config: import("@hmcts/opal-frontend-common/services/transfer-state-service/interfaces").ITransferStateLaunchDarklyConfig) => void; setAppInsightsConfig: (config: import("@hmcts/opal-frontend-common/services/transfer-state-service/interfaces").ITransferStateAppInsightsConfig) => void; setTokenExpiry: (tokenExpiry: import("@hmcts/opal-frontend-common/services/session-service/interfaces").ISessionTokenExpiry) => void; setUserStateCacheExpirationMilliseconds: (milliseconds: number) => void; setUserStateDomain: (domain: string) => void; setFeatureFlagConfig: (config: import("@hmcts/opal-frontend-common/services/transfer-state-service/interfaces").ITransferStateFeatureFlagConfig) => void; } & import("@ngrx/signals").StateSource<{ authenticated: boolean; bannerError: { error: boolean | null; title: string | null; message: string | null; operationId: string | null; }; featureFlags: {}; userState: import("@hmcts/opal-frontend-common/services/opal-user-service/interfaces").IOpalUserState; ssoEnabled: boolean; launchDarklyConfig: import("@hmcts/opal-frontend-common/services/transfer-state-service/interfaces").ITransferStateLaunchDarklyConfig; appInsightsConfig: import("@hmcts/opal-frontend-common/services/transfer-state-service/interfaces").ITransferStateAppInsightsConfig; tokenExpiry: import("@hmcts/opal-frontend-common/services/session-service/interfaces").ISessionTokenExpiry; userStateCacheExpirationMilliseconds: number; userStateDomain: string | undefined; featureFlagConfig: import("@hmcts/opal-frontend-common/services/transfer-state-service/interfaces").ITransferStateFeatureFlagConfig; }>; protected readonly userState: import("@hmcts/opal-frontend-common/services/opal-user-service/interfaces").IOpalUserState; accountData: THeader; protected abstract setupTabDataStream(): void; protected abstract getHeaderDataFromRoute(): void; protected abstract getHeaderData(accountId: number): Observable; protected abstract transformHeaderForStore(accountId: number, header: THeader): void; protected abstract transformHeaderForView(header: THeader): THeader; /** * Fetches tab data and compares its version. * @param serviceCall The observable service call to fetch the tab data. * @param compareVersion A callback function to compare the version of the fetched data. * @returns An observable of the transformed tab data. */ protected fetchTabData(serviceCall: Observable, compareVersion: (version: string | null) => void): Observable; protected transformTabData(data: TTab): TTab; /** * Checks if the user has the specified permission. * @param permission The permission to check. * @returns True if the user has the permission, false otherwise. */ hasPermission(permission: number): boolean; /** * Checks if the user has the specified permission for a specific business unit. * @param permission The permission to check. * @param businessUnitId The ID of the business unit. * @returns True if the user has the permission for the business unit, false otherwise. */ hasBusinessUnitPermission(permission: number, businessUnitId: number): boolean; /** * Refreshes the page with the latest header data. * @param accountId The ID of the account. * @param onSuccess A callback function to execute on successful data fetch. */ refreshPage(accountId: number, onSuccess: (header: THeader) => void): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "ng-component", never, {}, {}, never, never, true, never>; }