import { type IAnimatable } from '../../../Behaviors/Animatable';
import { ToastPosition } from '../../../Types/ToastPosition';
import { OverlayElement } from '../Abstracts/OverlayElement';
import type { IToastElementProps } from './IToastElementProps';
declare const ToastElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Animatable").IAnimatableProps & IAnimatable) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/TextFormattable").ITextFormattableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Busyable").IBusyableProps) & typeof OverlayElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Toast - A transient message or notification that appears briefly, often near the edge of the screen.
 *
 * @element mosaik-toast
 *
 * @slot actions - The actions slot.
 *
 * @public
 */
export declare class ToastElement extends ToastElement_base implements IToastElementProps, IAnimatable {
    private readonly _timer;
    private readonly _interval;
    private _intervalTick;
    private _header;
    private _content;
    private _timeout;
    private _position;
    private _showProgress;
    private _mouseOverSubscription;
    private _mouseOutSubscription;
    /**
     * @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 `header` property.
     *
     * @public
     */
    get header(): string;
    set header(value: string);
    /**
     * Gets or sets the `content` property.
     *
     * @public
     */
    get content(): string;
    set content(value: string);
    /**
     * Gets or sets the `timeout` property.
     * The timeout only when the given value is greater than zero.
     *
     * @public
     * @attr
     */
    get timeout(): number;
    set timeout(value: number);
    /**
     * Gets or sets the `position` property.
     *
     * @public
     * @attr
     */
    get position(): ToastPosition;
    set position(value: ToastPosition);
    /**
     * Gets or sets the `showProgress` property.
     *
     * @public
     * @attr
     */
    get showProgress(): boolean;
    set showProgress(value: boolean);
    private set intervalTick(value);
    /**
     * Opens the `ToastElement`.
     *
     * @public
     * @override
     */
    open(): Promise<void>;
    /**
     * Closes the `ToastElement`.
     *
     * @public
     * @override
     */
    close(): Promise<boolean>;
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * @public
     * @override
     */
    disconnectedCallback(): void;
    /**
     * @protected
     * @override
     */
    protected onApplyTemplate(): void;
    /**
     * @protected
     */
    protected onShowProgressPropertyChanged(): void;
}
/**
* @public
*/
export declare namespace ToastElement {
    type Props = IToastElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-toast': ToastElement;
    }
}
export {};
//# sourceMappingURL=ToastElement.d.ts.map