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;