import React from "react"; import { Components } from "@singularsystems/neo-core"; import { IObservableValue } from "@singularsystems/neo-core/dist/Model/ObservableValue"; import { TabManager } from './TabManager'; import { Transition } from "../Transitions/Transition"; export interface ITabContainerProps { /** * Optional tab manager for managing selected tab / tab change events. */ tabManager?: TabManager; /** * Optional selected tab property for binding the selected tab. Leave undefined if tabManager is specified. */ selectedTab?: IObservableValue; variant?: "tabs" | "pills" | "none" | "flat"; fillMode?: "fill" | "justified"; align?: Components.flexItemAlign; /** * Causes the tabs to stack vertically. These sizes define how many columns the tab selectors fill at each screen size. The tab content will fill the remaining columns. */ verticalSizes?: Components.IColumnWidthBreakpoints; /** * If set, will cause tabs to remain mounted after they are activated. The tab content will be hidden using css. * Use this if you want ui state e.g. scroll positions to remain on switch of tabs. */ keepMounted?: boolean; /** True if switching tabs should animate. */ animate?: boolean | Transition; } export declare class TabContextParams { tabManager: TabManager; /** * True if the tab manager was passed in to the tab container. */ isUserTabManager: boolean; inHeader: boolean; keepMounted?: boolean; animate?: boolean; } export declare const TabContext: React.Context; export default class TabContainer extends React.Component> { private tabContext; private tabManager; constructor(props: ITabContainerProps & React.HTMLProps); componentDidMount(): void; componentWillUnmount(): void; render(): React.JSX.Element; }