import type { ReactNode } from "react";
import type { HtmlProps } from "@/utils/types";
/**
 * A single navigation item rendered in the header segmented control.
 */
export type HeaderNavItem = {
    /** Unique identifier for the navigation item. */
    id: string;
    /** Display label. */
    label: string;
    /** URL navigated to on click. Renders as an anchor when provided. */
    href?: string;
    /** Whether this item is currently active. */
    active?: boolean;
};
export type HeaderNavigationToggle = {
    /** Accessible label for the navigation toggle button. */
    label?: string;
    /** Callback fired when the navigation toggle button is clicked. */
    onClick: () => void;
    /** Optional test id for consuming app tests. */
    testId?: string;
    /** Additional class applied to the button. */
    className?: string;
};
export type HeaderProps = HtmlProps<"header", {
    /**
     * Primary logo or brand element rendered at the start of the header.
     * Typically the Reltio wordmark SVG.
     */
    logo?: ReactNode;
    /**
     * Optional secondary logo displayed after a vertical divider.
     * Typically the AgentFlow gradient icon.
     */
    secondaryLogo?: ReactNode;
    /**
     * Application or product title displayed next to the logos.
     */
    title?: string;
    /**
     * Navigation items rendered as a segmented tab control.
     */
    navItems?: HeaderNavItem[];
    /**
     * Callback fired when a navigation item is clicked.
     * Receives the id of the clicked item.
     */
    onNavItemClick?: (id: string) => void;
    /**
     * Built-in sidebar collapse/expand control rendered before the logo.
     * Uses the same DockToRight icon as AgentFlow.
     */
    navigationToggle?: HeaderNavigationToggle;
    /**
     * Slot for arbitrary trailing content. Typically user menus,
     * actions, or controls.
     */
    actions?: ReactNode;
    /**
     * Slot for content rendered before the logo. Typically a navigation
     * toggle button on constrained viewports.
     */
    leadingContent?: ReactNode;
}>;
//# sourceMappingURL=Header.types.d.ts.map