import { PropertyValues, LitElement } from 'lit';
import { Icon } from '../icon';
import { IconButton } from '../icon-button';
import { PopoverAlign, PopoverType, SupportStatus, PopoverPosition, TypeNativePopoverController } from '../internal';
/**
 * @element nve-notification
 * @description Displays real time updates without interrupting the user's workflow to communicate an important message or status. [MDN Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)
 * @since 0.6.0
 * @entrypoint \@nvidia-elements/core/notification
 * @event beforetoggle - Dispatched on a popover just before showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event)
 * @event toggle - Dispatched on a popover element just after showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event)
 * @event open - Dispatched when the notification opens.
 * @event close - Dispatched when the notification closes.
 * @slot - default content slot
 * @slot icon - content slot for the status icon
 * @cssprop --border-radius
 * @cssprop --background
 * @cssprop --color
 * @cssprop --padding
 * @cssprop --box-shadow
 * @cssprop --min-width
 * @cssprop --width
 * @cssprop --max-width
 * @cssprop --border
 * @cssprop --status-border
 * @cssprop --gap
 * @cssprop --status-color
 * @cssprop --animation-duration - Duration of notification open/close animations
 * @csspart status-icon - The status icon element
 * @csspart icon-button - The close icon button element
 * @aria https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/
 */
export declare class Notification extends LitElement {
    #private;
    /**
     * (optional) By default the popover will automatically anchor itself relative to the trigger element.
     * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.
     */
    anchor: string | HTMLElement;
    /**
     * @deprecated Use the popover API instead.
     * The trigger defines what element triggers an `open` interaction event.
     * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.
     */
    trigger: string | HTMLElement;
    /**
     * Sets the side position of the popover relative to the provided anchor element.
     */
    position: PopoverPosition;
    /**
     * Sets the alignment of the popover relative to the provided anchor element.
     */
    alignment: PopoverAlign;
    /**
     * @deprecated Use the popover API instead.
     * Determines if popover visibility behavior should be automatically controlled by the trigger.
     */
    behaviorTrigger: boolean;
    /**
     * Determines if a close button should render within notification.
     */
    closable: boolean;
    /**
     * A delayed `close` event will occur determined from the provided millisecond value.
     */
    closeTimeout: number;
    /**
     * Determines the visual status of the notification.
     */
    status: SupportStatus;
    /**
     * Flat container option applies when embedding within another containing element such as a drawer.
     */
    container?: 'flat';
    /**
     * Enables updating internal string values for internationalization.
     */
    i18n: Partial<import('../internal').I18nStrings & {
        __set: boolean;
    }>;
    /**
     * @private
     */
    inline: boolean;
    /** @private */
    get popoverType(): PopoverType;
    /** @private */
    get popoverInline(): boolean;
    /** @private */
    _internals: ElementInternals;
    protected typeNativePopoverController: TypeNativePopoverController<Notification>;
    static styles: import('lit').CSSResult[];
    static readonly metadata: {
        tag: string;
        version: string;
    };
    static elementDefinitions: {
        [Icon.metadata.tag]: typeof Icon;
        [IconButton.metadata.tag]: typeof IconButton;
    };
    render(): import('lit').TemplateResult<1>;
    connectedCallback(): void;
    disconnectedCallback(): void;
    firstUpdated(props: PropertyValues<this>): Promise<void>;
    updated(props: PropertyValues<this>): void;
    hidePopover(): void;
}
