import { type ReactElement, type ReactNode } from 'react'; import { type NativeTabsTriggerBadgeProps, type NativeTabsTriggerLabelProps, type NativeTabsTriggerIconProps } from './common/elements'; import type { NativeTabOptions, NativeTabTriggerProps } from './types'; /** * The component used to customize the native tab options both in the _layout file and from the tab screen. * * When used in the _layout file, you need to provide a `name` prop. * When used in the tab screen, the `name` prop takes no effect. * * @example * ```tsx app/_layout.tsx * import { NativeTabs } from 'expo-router/unstable-native-tabs'; * * export default function Layout() { * return ( * * * * * ); * } * ``` * * @example * ```tsx app/home.tsx * import { NativeTabs } from 'expo-router/unstable-native-tabs'; * * export default function HomeScreen() { * return ( * * * Home * * This is home screen! * * ); * } * ``` */ declare function NativeTabTriggerImpl(props: NativeTabTriggerProps): null; export declare const NativeTabTrigger: typeof NativeTabTriggerImpl & { Label: import("react").FC; Icon: import("react").FC; Badge: import("react").FC; VectorIcon: typeof import("..").VectorIcon; }; export declare function convertTabPropsToOptions({ hidden, children, role, disablePopToTop, disableScrollToTop, unstable_nativeProps, disableAutomaticContentInsets, contentStyle, disableTransparentOnScrollEdge, }: NativeTabTriggerProps, isDynamic?: boolean): NativeTabOptions; export declare function appendIconOptions(options: NativeTabOptions, props: NativeTabsTriggerIconProps): void; export declare function isNativeTabTrigger(child: ReactNode, contextKey?: string): child is ReactElement; export {}; //# sourceMappingURL=NativeTabTrigger.d.ts.map