import { AsElementProps, ElementProps, WithVisuallyHiddenTextProps } from "../../../types/shared.mjs"; import { Component, Factory } from "../../../internal/factory/factory.mjs"; import { PolymorphicComponentProps } from "../../../internal/factory/create-polymorphic-factory.mjs"; import { BaseProps } from "../../core/base/Base.mjs"; import { HeaderNavList } from "./HeaderNavList.mjs"; import React, { ReactNode } from "react"; //#region src/components/navigation/header/Header.d.ts type HeaderProps = { variant?: 'organisation' | 'inline'; colour?: 'white'; } & ElementProps<'header', 'color'>; declare const Header: Component<{ props: HeaderProps; ref: HTMLDivElement; staticComponents: { Container: typeof HeaderContainer; Service: typeof HeaderService; ServiceLogo: typeof HeaderServiceLogo; Nav: typeof HeaderNav; NavList: typeof HeaderNavList; NavItem: typeof HeaderNavItem; Account: typeof HeaderAccount; AccountItem: typeof HeaderAccountItem; Search: typeof HeaderSearch; }; }>; type HeaderContainerProps = ElementProps<'div'>; declare const HeaderContainer: { ({ children, className, ...props }: HeaderContainerProps): React.JSX.Element; displayName: string; }; type HeaderServiceProps = ElementProps<'div'>; declare const HeaderService: { ({ children, className, ...props }: HeaderServiceProps): React.JSX.Element; displayName: string; }; type HeaderServiceLogoProps = Omit & ({ variant?: 'logo-only'; serviceName?: string; organisationName?: string; organisationSplit?: string; organisationDescriptor?: string; } | { variant: 'logo-only'; serviceName: undefined; organisationName: undefined; organisationSplit: undefined; organisationDescriptor: undefined; } | { variant: undefined; serviceName: string; organisationName?: never; organisationSplit?: never; organisationDescriptor?: never; } | { variant: undefined; serviceName?: never; organisationName: string; organisationSplit?: string; organisationDescriptor: string; }) & { logo?: ReactNode; }; declare const HeaderServiceLogo: ((props: PolymorphicComponentProps) => React.ReactElement) & Omit) & Omit, "className" | "variant" | "as" | "logo" | "serviceName" | "organisationName" | "organisationSplit" | "organisationDescriptor"> & { ref?: any; renderRoot?: (props: any) => any; }) | (HeaderServiceLogoProps & { as: keyof React.JSX.IntrinsicElements | React.JSXElementConstructor; renderRoot?: (props: Record) => any; })>, never> & Record; type HeaderNavProps = { variant?: 'justified'; colour?: 'white'; } & ElementProps<'div', 'color'>; declare const HeaderNav: { ({ children, variant, colour, className, ...props }: HeaderNavProps): React.JSX.Element; displayName: string; }; type HeaderNavItemProps = { active?: boolean; } & BaseProps; declare const HeaderNavItem: ((props: PolymorphicComponentProps) => React.ReactElement) & Omit & Omit, "className" | "children" | "as" | "active"> & { ref?: any; renderRoot?: (props: any) => any; }) | ({ active?: boolean; } & { className?: string; } & { children?: ReactNode | undefined; } & { as: keyof React.JSX.IntrinsicElements | React.JSXElementConstructor; renderRoot?: (props: Record) => any; })>, never> & Record; type HeaderAccountProps = ElementProps<'ul'>; type HeaderAccountFactory = Factory<{ props: HeaderAccountProps; ref: HTMLUListElement; }>; declare const HeaderAccount: Component<{ props: HeaderAccountProps; ref: HTMLUListElement; }>; type HeaderAccountItemProps = { variant?: 'icon'; } & BaseProps; declare const HeaderAccountItem: ((props: PolymorphicComponentProps) => React.ReactElement) & Omit & Omit, "className" | "children" | "variant" | "as"> & { ref?: any; renderRoot?: (props: any) => any; }) | ({ variant?: "icon"; } & { className?: string; } & { children?: ReactNode | undefined; } & { as: keyof React.JSX.IntrinsicElements | React.JSXElementConstructor; renderRoot?: (props: Record) => any; })>, never> & Record; type HeaderSearchProps = ({ children?: never; inputProps?: never; buttonProps?: never; } | { children: ReactNode; inputProps?: never; buttonProps?: never; } | { children?: never; inputProps?: HeaderSearchInputProps; buttonProps?: HeaderSearchButtonProps; }) & ElementProps<'form', 'children'>; declare const HeaderSearch: Component<{ props: HeaderSearchProps; ref: HTMLFormElement; staticComponents: { Input: typeof HeaderSearchInput; Button: typeof HeaderSearchButton; }; }>; type HeaderSearchInputProps = ElementProps<'input'> & WithVisuallyHiddenTextProps; declare const HeaderSearchInput: Component<{ props: HeaderSearchInputProps; ref: HTMLInputElement; }>; type HeaderSearchButtonProps = ElementProps<'button'> & WithVisuallyHiddenTextProps; declare const HeaderSearchButton: Component<{ props: HeaderSearchButtonProps; ref: HTMLButtonElement; }>; //#endregion export { Header, HeaderAccount, HeaderAccountFactory, HeaderAccountItem, HeaderAccountItemProps, HeaderAccountProps, HeaderContainer, HeaderContainerProps, HeaderNav, HeaderNavItem, HeaderNavItemProps, HeaderNavProps, HeaderProps, HeaderSearch, HeaderSearchButton, HeaderSearchButtonProps, HeaderSearchInput, HeaderSearchInputProps, HeaderSearchProps, HeaderService, HeaderServiceLogo, HeaderServiceLogoProps, HeaderServiceProps };