import React, { type ReactNode } from 'react'; import type { NavItem, NavLink } from '../../util/utility-types'; import type { Emphasis } from '../../util/variant-types'; export type AppFooterProps = Omit, 'title'> & { /** * CSS class names that can be appended to the component. */ className?: string; /** * Web location for the home page. Use this to direct where the main page of the application lives. */ href?: string; /** * Sets of navigation targets in the footer. Consider using four at maximum. */ navItems: NavLink[]; /** * Handle the click event for a given clickable link nav item in the footer. Includes the data from the associated/clicked `NavItem` for reference * (e.g., attaching events, tracking, etc.) */ onLinkClick?: AppFooterEventHandler; /** * Text slot for specifying the copyright information (e.g., "Copyright © ${YEAR}") */ copyright?: string; /** * Determine the amount of emphasis applied to the component, e.g., low or high. * * **Default is `"high"`**. */ emphasis?: Emphasis; /** * Element used for the application's logo (can be text or an image) */ title: ReactNode; }; export type AppFooterEventHandler = (event: React.SyntheticEvent, navItem: NavItem) => void; /** * **BETA**: This component is still a work in progress and is subject to change. * * `import {AppFooter} from "@chanzuckerberg/eds";` * * A footer is a navigation component. It can hold links, buttons, company info, copyrights, forms, and many other elements. */ export declare const AppFooter: ({ className, copyright, emphasis, href, navItems, onLinkClick, title, ...other }: AppFooterProps) => React.JSX.Element;