/// import { IText } from "../../core/types"; import { IMenu, IMenuExpandable, IMenuItem } from '../Menu/types'; /** * Main navigation component interface that extends `INavigation`. * Includes static components for `Header`, `Title`, `Item`, and `Expandable`. */ export interface INavigationComponent extends INavigation { /** * Component for rendering the header of a navigation item. */ Header: React.FC; /** * Component for rendering the title of a navigation item. */ Title: React.FC; /** * Component for rendering an individual navigation item. */ Item: React.FC; /** * Component for rendering an expandable navigation section. */ Expandable: React.FC; } export interface INavigationExpandable extends IMenuExpandable { } /** * Properties for the main navigation component. Extends `IMenu` properties. */ export interface INavigation extends React.FC { } /** * Properties for the navigation title component. */ export interface INavigationTitle extends IText { } /** * Properties for the navigation subtitle component. */ export interface INavigationSubtitle extends IText { } /** * Base properties for navigation items */ export interface INavigationItemBase extends IMenuItem { /** * Navigation item url */ href?: string; /** * Defines if the navigation item href link is external. * @default false */ isExternal?: boolean; } /** * Navigation item with href (anchor element) */ export interface INavigationItemWithHref extends Omit { href: string; onClick?: (event: React.MouseEvent) => void; } /** * Navigation item without href (div element) */ export interface INavigationItemWithoutHref extends Omit { href?: never; onClick?: (event: React.MouseEvent) => void; } export declare type INavigationItem = INavigationItemWithHref | INavigationItemWithoutHref;