import React from 'react';
export interface TabItem {
    id: string;
    label: string;
    icon: React.ComponentType<React.SVGProps<SVGSVGElement>>;
    component?: React.ComponentType<any>;
    indicator?: 'success' | 'warning' | 'error';
}
export interface TabNavigationUrlSyncOptions {
    paramName?: string;
    replaceState?: boolean;
}
interface TabNavigationProps {
    activeTab?: string;
    onTabChange?: (tabId: string) => void;
    tabs: TabItem[];
    className?: string;
    shadowClassName?: string;
    /** Force the right-edge gradient to always render, independent of scroll state. */
    showRightGradient?: boolean;
    /** Force the left-edge gradient to always render, independent of scroll state. */
    showLeftGradient?: boolean;
    urlSync?: boolean | TabNavigationUrlSyncOptions;
    defaultTab?: string;
    children?: (activeTab: string) => React.ReactNode;
}
export declare function TabNavigation({ activeTab: controlledActiveTab, onTabChange: controlledOnTabChange, tabs, className, shadowClassName, showRightGradient, showLeftGradient, urlSync, defaultTab, children }: TabNavigationProps): import("react/jsx-runtime").JSX.Element;
export declare const getTabById: (tabs: TabItem[], tabId: string) => TabItem | undefined;
export declare const getTabComponent: (tabs: TabItem[], tabId: string) => React.ComponentType<any> | null;
export {};
//# sourceMappingURL=tab-navigation.d.ts.map