import { type ComponentPropsWithoutRef, type JSX, type MouseEvent, type ReactNode } from 'react';
import Link from '@plumile/router/routing/Link.js';
export type TabsSelectEvent = MouseEvent<HTMLButtonElement | HTMLAnchorElement>;
type LinkComponentProps = ComponentPropsWithoutRef<typeof Link>;
export type TabItem = {
    id: string;
    label: ReactNode;
    to?: LinkComponentProps['to'];
    disabled?: boolean;
    isActive?: boolean;
};
export type TabsVariant = 'line' | 'pill' | 'underline' | 'page';
export type TabsProps = {
    items: readonly TabItem[];
    activeId?: string;
    onChange?: (id: string) => void;
    ariaLabel?: string;
    children?: ReactNode;
    className?: string;
    layout?: 'nav' | 'content';
    panelClassName?: string;
    variant?: TabsVariant;
};
export declare const Tabs: (props: TabsProps) => JSX.Element | null;
export declare const __test: {
    readonly resolveItemIsActive: (item: TabItem, activeId: string | undefined, pathname: string | undefined, hasExplicitActiveItem?: boolean) => boolean;
};
export {};
//# sourceMappingURL=Tabs.d.ts.map