import { ComponentRef, EventEmitter, OnDestroy, OnInit, ViewContainerRef } from '@angular/core'; import { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs'; import { Tab } from '../../models/tab.model'; import { MatDialog } from '@angular/material/dialog'; import { Subject } from 'rxjs'; import { FormGroup } from '@angular/forms'; import { EventsAndMeetingRouteConfig, UserPermission, ConfirmationModalData } from '@ieeesa-npm/models'; import { CustomProperties } from '../../models/custom-properties.model'; import * as i0 from "@angular/core"; export declare class TabsComponent implements OnInit, OnDestroy { dialog: MatDialog; componentContainer: ViewContainerRef; componentRef: ComponentRef; isComponentLoaded: boolean; previousTabIndex: number; private isFormValuesChanged; selectedTabIndex: number; private _tabs; set tabs(tab: Tab[]); get tabs(): Tab[]; set isFormChanged(status: boolean); get isFormChanged(): boolean; confirmationModalConfig: ConfirmationModalData; selectedIndexChange: EventEmitter; destroy$: Subject; formCancel: EventEmitter; formSubmit: EventEmitter[]>; constants: any; modalConfigTexts: any; isViewOnly: string | boolean; isMemberOfGroup: string | boolean; eventId: string; meetingId: string; actionType: any; routePaths: EventsAndMeetingRouteConfig; apiBaseURL: string; apiDomainURL: string; userPermissions: UserPermission[]; isInlineMode: boolean; tenantFeatures: any[] | undefined; customProperties: CustomProperties[]; constructor(dialog: MatDialog); /** * Verifies tabs count and calls createComponent() to load selected component. * @memberof TabsComponent */ ngOnInit(): void; /** * Opens confirmation modal on tab change event when leaving with unsaved changes. * @param {MatTabGroup} tab * @param event * @memberof TabsComponent */ onTabChange(tab: MatTabGroup, event: MatTabChangeEvent): void; /** * Loads the respective component on tab change event when componentRef is available. * @param {MatTabChangeEvent} event * @memberof TabsComponent */ loadSelectedTabContent(event: MatTabChangeEvent): void; /** * Dynamically loads the component in the DOM container based on the passed tab and clears the previously loaded component before loading the new one. * @param {Tab} tab * @memberof TabsComponent */ createComponent(tab: Tab): void; /** * Sets dynamic input property which is being sent by the consumer component and its value is not undefined for the component loaded by the tab component. * @param {[]} properties * @memberof TabsComponent */ setCustomComponentProperties(properties: []): void; /** * Returns unique identifier for the tab. * @param {number} index * @param {Tab} option * @return {*} {(number | string)} * @memberof TabsComponent */ trackByFn(index: number, option: Tab): number | string; /** * Cleans up resources when the component is destroyed * @memberof TabsComponent */ ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }