import { TabContent, TabLabel } from '../interfaces'; import { ComponentPortal } from '@angular/cdk/portal'; import { Type } from '@angular/core'; import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { TabLabelStream } from './tab-label-stream'; /** * Holds the information of tab opened in a tab view. * * See {@link TabView} for more information. */ export declare class OpenedTab implements TabContent { uniqueId: string; /** * See {@link TabContent#label}. */ label: TabLabel; /** * See [TabContent.canBeClosed]{@link TabContent#canBeClosed}. */ canBeClosed: boolean; /** * See [TabContent.tabContentComponent]{@link TabContent#tabContentComponent}. */ tabContentComponent: Type; /** * See [TabContent.injectedObject]{@link TabContent#injectedObject}. */ injectedObject: object; /** * See [TabContent.order]{@link TabContent#order}. */ order: number; /** * See [TabContent.initial]{@link TabContent#initial}. */ initial: boolean; /** * See [TabContent.parentUniqueId]{@link TabContent#parentUniqueId}. */ parentUniqueId: any; /** * Reference to the component portal that is used to display the tab content */ portal: ComponentPortal; /** * Whether the tab was initialized after it's creation. * * See [TabGroup.initializeTab()]{@link TabView#initializeTab} for more information. */ isTabInitialized: boolean; /** * A stream that is injected into each tab and is used to inform that tab whenever it is selected or deselected */ tabSelected$: BehaviorSubject; /** * A stream that is injected into each tab and is used to inform the tab about its termination */ tabClosed$: Subject; protected _label$: TabLabelStream; /** * @param tabContent - content of the tab * @param uniqueId - unique identifier for the tab */ constructor(tabContent: TabContent, uniqueId: string); setIcon(icon: string): void; setText(text: string): void; getIcon$(): Observable; getIcon(): string | undefined; getText$(): Observable; /** * Closes the stream held in this object */ destroy(): void; }