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;
}