import { TemplatePortal } from '@angular/cdk/portal';
import { OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { Subject } from 'rxjs';
import { TsTabLabelDirective } from './../label/tab-label.directive';
/**
* An individual tab component
*
* @example
*
* My tab content!
*
*
* https://getterminus.github.io/ui-demos-release/components/tabs
*/
export declare class TsTabComponent implements OnInit, OnChanges, OnDestroy {
private viewContainerRef;
/**
* Define a unique ID for every instance
*/
id: number;
/**
* Portal that will be the hosted content of the tab
*/
private contentPortal;
/**
* Emits whenever the internal state of the tab changes
*/
readonly stateChanges: Subject;
/**
* The relatively indexed position where 0 represents the center, negative numbers are left, and positive numbers represent the right.
*/
position: number | null;
/**
* The initial relatively index origin of the tab if it was created and selected after there was already a selected tab.
* Provides context of what position the tab should originate from.
*/
origin: number | null;
/**
* Whether the tab is currently active
*/
isActive: boolean;
/**
* Provides quick access to the content portal
*/
get content(): TemplatePortal | null;
/**
* Template provided in the tab content that will be used if present, used to enable lazy-loading
*/
explicitContent: TemplateRef | undefined;
/**
* Template inside the TsTabComponent view that contains an ``
*/
implicitContent: TemplateRef;
/**
* Content for the tab label given by ``
*/
templateLabel: TsTabLabelDirective;
/**
* Aria label for the tab
*/
ariaLabel: string | undefined;
/**
* Reference to the element that the tab is labelled by.
*
* NOTE: Will be cleared if `aria-label` is set at the same time.
*/
ariaLabelledby: string | undefined;
/**
* Define if the tab is disabled
*/
isDisabled: boolean;
/**
* Simple text label for the tab (used when there is no template label)
*/
label: string;
constructor(viewContainerRef: ViewContainerRef);
/**
* Inject the tab content
*/
ngOnInit(): void;
/**
* Trigger event emitter for property changes
*
* @param changes
*/
ngOnChanges(changes: SimpleChanges): void;
/**
* Clean up any subscriptions
*/
ngOnDestroy(): void;
}