import { AlCorrelationRuleV2 } from '@al/aecoral'; import { AIMSAccount } from '@al/core'; import { AlGenericAlertOptions, AlThreatLevel, AlGenericAlertDefinition } from '@al/gestalt'; import { AlHeraldAccountSubscriptionV2, AlHeraldSubscribersV2 } from '@al/herald'; import { AlBottomSheetComponent, AlBottomSheetHeaderOptions, AlSelectItem, AlViewHelperComponent } from '@al/ng-generic-components'; import { EventEmitter, OnInit } from '@angular/core'; import { AlNotificationFormComponent } from '../al-notification-form/al-notification-form.component'; import { AlNotificationDictionariesUtility } from '../services/al-notification-dictionaries-utility'; import * as i0 from "@angular/core"; interface AlIncidentAlertFormData { incidentAlertName: string; alertIsActive: boolean; accounts: Array; filters: Array | undefined; escalated: boolean; selectedAccounts?: Array; selectedFilters?: Array; subscribers?: AlHeraldSubscribersV2[]; emailSubject?: string; } export declare class AlNotificationIncidentAlertFormComponent implements OnInit { accountId: string; filtersTitle: string; filtersPlaceholder: string; onSuccess: EventEmitter; onError: EventEmitter; onClose: EventEmitter; headerOptions: AlBottomSheetHeaderOptions; alBottomSheet: AlBottomSheetComponent; notificationForm: AlNotificationFormComponent; viewHelper?: AlViewHelperComponent; allSelectableAccounts: Array; selectedAccounts: Array; allSelectableFilters: Array; selectedFilters: Array; correlationRule?: AlCorrelationRuleV2; subscriptionID: string; loading: boolean; editMode: boolean; isCorrelationFiltered: boolean; formDescription: string; accountDetails: string; criteriaLabel: string; dictionaries: AlNotificationDictionariesUtility; form: AlIncidentAlertFormData; dataSnapshot: AlIncidentAlertFormData; ngOnInit(): void; /** * Reset the component. */ resetComponent(): Promise; /** * TODO: This could be improved using reactive forms, this * could be achieve when all controllers implement value accessor. */ validateForm(): void; /** * Handler when user changes the susbscribers. */ onSubscribersChanged(): void; hasArrayChanged: (array1: T[], array2: T[], keys: (keyof T)[]) => boolean; /** * When user select or changes filters */ onSelectedFilters(event: AlSelectItem[]): void; /** * When user select or changes accounts */ onSelectedAccounts(event: AlSelectItem[]): void; /** * Set´s the account seleted as default */ setAccountSelectedAsDefault(): void; /** * When the user click on save button. */ save(): void; /** * When user clicks on cancel button. */ cancel(): void; /** * Get filter list. */ getFilterList: () => string[]; /** * Get account list. */ getAccountList: () => string[]; /** * Transform the list of accounts into selectable items. */ transformAccountsToSelectableAccounts: () => void; /** * Transform the list of filters into selectable items. */ transformFiltersToSelectableFilters: () => void; /** * Validates if the incident notification is filtered by a previously * created log correlation. */ checkCorrelationFiltered(correlationRule?: AlCorrelationRuleV2): boolean; /** * Process the incident alert options received from gestalt. */ processIncidentAlertOptions: (incidentsAlertOptions: AlGenericAlertOptions, type: string, correlationRule?: AlCorrelationRuleV2) => Promise; /** * Get the account from the current options. */ getAccountById: (accountId: string) => AIMSAccount; /** * Get the filter from the current options. */ getFilterById: (filterId: string) => AlThreatLevel; /** * Set the account list based on account IDs. */ setAccountsList: (accounts: string[]) => void; /** * Set the filters list based on filters IDs. */ setFiltersList: (filters: string[]) => void; /** * Set´s the scalated flag. */ setEscalated: (escalated: boolean) => void; /** * Set´s the al bottom sheet title * @param title The al bottom sheet title */ setTexts: (notificationType: string, action: "edit" | "create", isCorrelation?: boolean) => void; /** * Open the alert modal in edit mode. */ editAlertModal(subscription: AlHeraldAccountSubscriptionV2, correlationRule?: AlCorrelationRuleV2, entity?: AlGenericAlertDefinition): Promise; createDataSnapshot(): AlIncidentAlertFormData; hasFormChanged(): boolean; /** * Open the Create Incidents Alert Screen. */ openAddAlertModal(correlationRule?: AlCorrelationRuleV2): void; static ɵfac: i0.ɵɵFactoryDef; static ɵcmp: i0.ɵɵComponentDefWithMeta; } export {};