import { CustomElement } from '../../Abstracts/CustomElement';
import type { IHelmetElementProps } from './IHelmetElementProps';
/**
 * Helmet - A document head manager for dynamically updating meta tags, title, and other head elements.
 *
 * @description
 * The Helmet component provides a declarative way to manage the document's `<head>` section from anywhere
 * in your component tree. It automatically synchronizes child elements (title, meta, link, script, style tags)
 * with the document head, allowing components to control page metadata, SEO tags, social sharing properties,
 * and external resources. Changes made through Helmet are automatically cleaned up when the component is
 * removed, making it perfect for single-page applications that need dynamic head management.
 *
 * @name Helmet
 * @element mosaik-helmet
 * @category Primitives
 *
 * @example
 * Set page title and meta description:
 * ```html
 * <mosaik-helmet>
 *   <title>My Page Title - My Site</title>
 *   <meta name="description" content="This page contains important information about our product.">
 * </mosaik-helmet>
 * ```
 *
 * @example
 * Social media meta tags:
 * ```html
 * <mosaik-helmet>
 *   <title>Article Title</title>
 *   <meta property="og:title" content="Article Title">
 *   <meta property="og:description" content="Article description for social sharing">
 *   <meta property="og:image" content="https://example.com/image.jpg">
 *   <meta name="twitter:card" content="summary_large_image">
 * </mosaik-helmet>
 * ```
 *
 * @example
 * Include external stylesheets and scripts:
 * ```html
 * <mosaik-helmet>
 *   <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto">
 *   <script src="https://cdn.example.com/library.js" async></script>
 * </mosaik-helmet>
 * ```
 *
 * @public
 */
export declare class HelmetElement extends CustomElement implements IHelmetElementProps {
    private readonly _mutationController;
    private readonly _elements;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     * The `is` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * @public
     * @override
     */
    disconnectedCallback(): void;
    /**
     * @protected
     * @overload
     */
    protected createRenderRoot(): HTMLElement;
    /**
     * @private
     */
    private appendDocument;
    /**
     * @private
     */
    private clearDocument;
}
/**
 * @public
 */
export declare namespace HelmetElement {
    type Props = IHelmetElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-helmet': HelmetElement;
    }
}
//# sourceMappingURL=HelmetElement.d.ts.map