import type { ElementType } from "react";
import type { Options, Props } from "../utils/types.ts";
import type { HeadingLevels } from "./utils.ts";
type HeadingElements = `h${HeadingLevels}`;
declare const TagName = "h1";
type TagName = HeadingElements;
/**
* Returns props to create a `Heading` component. The element type (or the
* `aria-level` prop, if the element type is not a native heading) is determined
* by the context level provided by the parent `HeadingLevel` component.
* @see https://ariakit.com/components/heading
* @example
* ```jsx
* const props = useHeading();
* Heading
* ```
*/
export declare const useHeading: import("../utils/types.ts").Hook<"h1" | "h2" | "h3" | "h4" | "h5" | "h6", HeadingOptions<"h1" | "h2" | "h3" | "h4" | "h5" | "h6">>;
/**
* Renders a heading element. The element type (or the `aria-level` attribute,
* if the element type is not a native heading) is determined by the context
* level provided by the closest
* [`HeadingLevel`](https://ariakit.com/reference/heading-level) ancestor.
* @see https://ariakit.com/components/heading
* @example
* ```jsx
*
* Heading 1
*
* Heading 2
*
*
* ```
*/
export declare const Heading: (props: HeadingProps) => import("react").ReactElement>;
export interface HeadingOptions<_T extends ElementType = TagName> extends Options {
}
export type HeadingProps = Props>;
export {};