import { default as React, HTMLAttributes, ReactNode } from 'react'; /** @deprecated Use `"tabs"` instead. `"main"` remains functional but will be removed in a future major release. */ export type DeprecatedTabBarAppearance = "main"; export type TabBarAppearance = "tabs" | "buttons" | "content" | DeprecatedTabBarAppearance; /** @deprecated Use TabBarAppearance instead. Can be removed when TabNavigation is removed. */ export type TabStyle = TabBarAppearance; export interface TabBarContextType { appearance: TabBarAppearance; /** @deprecated Use appearance instead. Can be removed when TabNavigation is removed. */ tabStyle?: TabBarAppearance; } /** @deprecated Use TabBarContextType instead. Can be removed when TabNavigation is removed. */ export type TabNavigationContextType = TabBarContextType; export declare const TabBarContext: React.Context; /** @deprecated Use TabBarContext instead */ export declare const TabNavigationContext: React.Context; /** * An all-purpose bar of tab-shaped items for navigation or filtering. * Use to wrap `` elements. For tabs with corresponding tab panels, use a tabbed content library such as react-tabs directly. * @see https://cloudoperators.github.io/juno/?path=/docs/navigation-tabbar-tabbar--docs * @see {@link TabBarProps} */ export declare const TabBar: ({ activeItem, ariaLabel, children, className, disabled, onActiveItemChange, appearance, tabStyle, ...props }: TabBarProps) => ReactNode; export interface TabBarProps extends HTMLAttributes { /** The label of the selected tab. The `activeItem` prop set on the parent will override any `active` prop set on a child. */ activeItem?: ReactNode; /** The aria-label of the navigation. Specify when there are more than one elements with an implicit or explicit `role="navigation"` on a page/view. */ ariaLabel?: string; /** The child `` elements to render. */ children?: ReactNode; /** A custom className */ className?: string; /** Whether the tab bar is disabled. If `true`, all child items will be disabled. */ disabled?: boolean; /** A handler to execute when the active tab changes */ onActiveItemChange?: (activeItem: ReactNode) => void; /** The visual appearance of the TabBar. Defaults to `tabs`. Use `tabs` for tabs inside an AppShell or page content. Use `buttons` for a pill-style segmented control. `content` is a distinct style variant with a shared bottom border. `main` is deprecated — use `tabs` instead. */ appearance?: TabBarAppearance; /** @deprecated Use appearance instead. Can be removed when TabNavigation is removed. */ tabStyle?: TabBarAppearance; } /** @deprecated Use TabBarProps instead. Can be removed when TabNavigation is removed. */ export type TabNavigationProps = TabBarProps; //# sourceMappingURL=TabBar.component.d.ts.map