///
import { Observable } from 'rxjs';
import { BaseView, BaseViewProps } from '../../React';
import { TabsViewModel } from './TabsViewModel';
export declare class TabRenderTemplate {
protected readonly titleSelector: (item: T, index: number, viewModel: Readonly>, view: TabsView) => string;
protected readonly renderItem: (item: T, index: number, viewModel: Readonly>, view: TabsView) => any;
protected readonly keySelector: (item: T, index: number, viewModel: Readonly>, view: TabsView) => any;
static displayName: string;
protected readonly renderTemplateContainer: (content: () => any, item: T, index: number, viewModel: Readonly>, view: TabsView) => any;
constructor(titleSelector: (item: T, index: number, viewModel: Readonly>, view: TabsView) => string, renderItem?: (item: T, index: number, viewModel: Readonly>, view: TabsView) => any, keySelector?: (item: T, index: number, viewModel: Readonly>, view: TabsView) => any, renderTemplateContainer?: (content: () => any, item: T, index: number, viewModel: Readonly>, view: TabsView) => any);
protected renderDefaultTemplateContainer(content: () => any, item: T, index: number, viewModel: Readonly>, view: TabsView): JSX.Element;
render(viewModel: Readonly>, view: TabsView): any[];
}
export interface TabsProps {
template?: TabRenderTemplate;
}
export interface TabsViewProps extends BaseViewProps>, TabsProps {
}
export declare class TabsView extends BaseView> {
static displayName: string;
updateOn(viewModel: Readonly>): (Observable | Observable<{}[]>)[];
render(): JSX.Element;
private renderTabs();
private renderStaticTabs();
private renderDynamicTabs(template);
}