import { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactElement, ReactNode } from 'react'; import { AvatarProps } from '../../../../../../../../../src/components/Avatar'; import { ImageProps } from '../../../../../../../../../src/components/Image'; import { ImageLinkProps } from '../../../../../../../../../src/components/ImageLink'; import { MenuProps } from '../../../../../../../../../src/components/Menu'; import { TextInputProps } from '../../../../../../../../../src/components/TextInput'; import { IconNamesType } from '../../../../../../../../../src/utils'; export interface TopNavAvatarProps { avatar: ReactElement>; dropdown?: ReactElement; } export interface TopNavIconButtonProps extends ButtonHTMLAttributes { "aria-label": string; active?: boolean; badge?: string; disabled?: boolean; icon?: IconNamesType; } export interface TopNavLinkButtonProps extends AnchorHTMLAttributes { href: string; active?: boolean; disabled?: boolean; } export interface TopNavSkipNavProps extends AnchorHTMLAttributes { href: string; children?: ReactNode; } export interface TopNavProps { logo: ReactElement; children?: ReactNode; menuToggleBtn?: ReactElement>; search?: ReactElement; skipNav?: ReactElement; sticky?: boolean; title?: string; } export interface TopNavSubComponents { Avatar: React.FC; IconButton: React.FC; LinkButton: React.FC; Search: React.FC; SkipNav: React.FC; }