import type { ReactNode } from "react";
import type { BreadcrumbItemComponentProps } from "@/components/breadcrumbs";
/**
 * Traducciones disponibles para el componente Header.
 * Todas las propiedades son opcionales para permitir traducciones parciales.
 */
export type HeaderTranslations = {
    /** Texto del botón/opción de cerrar sesión */
    logout?: string;
};
export interface HeaderProps {
    /**
     * Contenido extra parametrico que el padre puede embeber dentro del header.
     * Se renderiza en el grupo derecho, justo antes del botón de notificaciones.
     * Si no se proporciona, el header se renderiza sin este slot.
     * @example
     * ```tsx
     * <HeaderComponent extraContent={<LiveBanner />} options={options} />
     * ```
     */
    extraContent?: ReactNode;
    /**
     * Traducciones i18n del componente.
     * Si no se proporciona, usa traducciones por defecto en español.
     * @example
     * ```tsx
     * <HeaderComponent translations={{ logout: "Sign out" }} />
     * ```
     */
    translations?: HeaderTranslations;
    /**
     * The number of notifications to display in the badge.
     */
    notificationCount?: number;
    /**
     * The options for the configuration header.
     */
    options: HeaderOptions[];
    /**
     * The breadcrumb items to display in the header.
     */
    breadcrumbs?: BreadcrumbItemComponentProps[];
    /**
     * Controla la visibilidad del botón hamburguesa (visible solo en mobile via CSS).
     * Si es `false`, el botón no se renderiza ni en mobile.
     * @default true
     */
    showMenuButton?: boolean;
    /**
     * The function to call when the menu is clicked.
     */
    onMenuClick?: () => void;
    onLogout?: () => void;
    onNotificationClick?: () => void;
    /**
     * Callback for programmatic navigation when a config option is selected.
     * When provided, replaces native anchor navigation with onPress.
     */
    onOptionSelect?: (href: string) => void;
    /**
     * Callback for programmatic navigation when a breadcrumb is clicked.
     * When provided, replaces native anchor navigation with onPress.
     */
    onBreadcrumbClick?: (href: string) => void;
}
export interface HeaderOptions {
    label: string;
    icon?: string;
    href: string;
}
//# sourceMappingURL=Header.types.d.ts.map