import { type IAnimatable } from '../../../Behaviors/Animatable';
import { CustomElement } from '../../Abstracts/CustomElement';
import { IBackdropElementProps } from './IBackdropElementProps';
declare const BackdropElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Animatable").IAnimatableProps & IAnimatable) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Backdrop - A semi-transparent overlay that creates visual focus by dimming background content.
 *
 * @description
 * The Backdrop component is a fundamental overlay element used to create visual separation between
 * foreground and background content. It renders as a semi-transparent layer that dims the content
 * beneath it, directing user attention to dialogs, modals, drawers, or other interactive overlays.
 * The component features smooth fade-in and fade-out animations for enhanced visual transitions,
 * supports theme-aware styling, and includes backdrop blur effects for modern glass-morphism designs.
 * Typically positioned with fixed or absolute positioning to cover the entire viewport or a specific
 * container area.
 *
 * @name Backdrop
 * @element mosaik-backdrop
 * @category Primitives
 *
 * @cssprop {String} --backdrop-background-color - The semi-transparent background color of the overlay
 * @cssprop {String} --backdrop-blur - The backdrop blur filter intensity (e.g., 6px)
 * @cssprop {String} --backdrop-transition-duration - The duration of fade-in/fade-out animations
 * @cssprop {String} --backdrop-transition-mode - The timing function for transition animations
 * @cssprop {String} --backdrop-transition-property - The CSS properties to animate during transitions
 *
 * @example
 * Basic backdrop for modal overlay:
 * ```html
 * <mosaik-backdrop></mosaik-backdrop>
 * ```
 *
 * @example
 * Programmatic control with hidden state:
 * ```html
 * <mosaik-backdrop id="dialogBackdrop" hidden></mosaik-backdrop>
 * <dialog id="myDialog">
 *   <h2>Confirm Action</h2>
 *   <p>Are you sure you want to proceed?</p>
 *   <button onclick="closeDialog()">Cancel</button>
 *   <button onclick="confirmAction()">Confirm</button>
 * </dialog>
 *
 * <script>
 *   const backdrop = document.getElementById('dialogBackdrop');
 *   const dialog = document.getElementById('myDialog');
 *
 *   function showDialog() {
 *     backdrop.hidden = false;
 *     dialog.showModal();
 *   }
 *
 *   function closeDialog() {
 *     backdrop.hidden = true;
 *     dialog.close();
 *   }
 * </script>
 * ```
 *
 * @public
 */
export declare class BackdropElement extends BackdropElement_base implements IBackdropElementProps, IAnimatable {
    private _hidden;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `hidden` property.
     *
     * @public
     * @override
     */
    get hidden(): boolean;
    set hidden(value: boolean);
    /**
     * @public
     * @override
     */
    onEnterAnimation(): Promise<boolean>;
    /**
     * @public
     * @override
     */
    onExitAnimation(): Promise<boolean>;
}
/**
 * @public
 */
export declare namespace BackdropElement {
    type Props = IBackdropElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-backdrop': BackdropElement;
    }
}
export {};
//# sourceMappingURL=BackdropElement.d.ts.map