import { type ElementType, type HTMLAttributes, type ReactElement, type Ref } from "react"; import { type AppBarClassNameOptions } from "./styles.js"; /** @since 6.0.0 */ export type CustomAppBarComponent = ElementType & { ref?: Ref; className: string; }>; /** * @since 6.0.0 Renamed the `component` prop to `as` and updated the default * value to be a `"div"` when `fixed` is `false`. * @since 6.0.0 Renamed the `fixedElevation` prop to `disableFixedElevation` to * match naming conventions when a feature is enabled by default. * @since 6.0.0 Removed the `inheritColor` and `flexWrap` props since they are * no longer required. * @since 6.0.0 Removed the `fixed` prop in favor of the new `position` prop * which enables position `fixed` or `sticky` behavior. * @since 6.0.0 Added the {@link stacked} and {@link scrollbarOffset} props. */ export interface AppBarProps extends HTMLAttributes, AppBarClassNameOptions { ref?: Ref; /** @defaultValue `fixed ? "header" : "div"` */ as?: CustomAppBarComponent; } /** * @example Simple Example * ```tsx * import { AppBar } from "@react-md/core/app-bar/AppBar"; * import { AppBarTitle } from "@react-md/core/app-bar/AppBarTitle"; * import { Button } from "@react-md/core/button/Button"; * import MenuIcon from "@react-md/material-icons/MenuIcon"; * import MoreVertIcon from "@react-md/material-icons/MoreVertIcon"; * import type { ReactElement } from "react"; * * function Example(): ReactElement { * return ( * * * My Main Title * * * ); * } * ``` * * @since 6.0.0 The `AppBar` was updated to use `gap` for spacing * instead of requiring the `AppBarNav` and `AppBarAction` components. */ export declare function AppBar(props: AppBarProps): ReactElement;