import { FocusTrap } from "@a11y/focus-trap"; import { TemplateResult } from "lit-element"; import { Backdrop } from "../backdrop/backdrop"; import { IOverlayBehaviorBaseProperties, IOverlayBehaviorProperties, OverlayBehavior } from "../behavior/overlay/overlay-behavior"; import { AriaRole } from "../util/aria"; /** * Base properties of the snackbar. These base properties are used when showing a snackbar. */ export interface ISnackbarBaseProperties extends IOverlayBehaviorBaseProperties { hideDelay: number; } /** * Properties of the snackbar. */ export interface ISnackbarProperties extends ISnackbarBaseProperties, IOverlayBehaviorProperties { role: AriaRole; } /** * Configuration used when showing a snackbar. */ export interface ISnackbarConfig extends Partial { } /** * Default configuration when showing a snackbar. */ export declare const defaultSnackbarConfig: ISnackbarConfig; /** * Provide brief messages at the bottom of the screen. * @slot icon - Icon content. * @slot action - Action content (you can have multiple slots named action). * @slot - Default content. * @cssprop --snackbar-fixed-padding - Padding of the container when fixed * @cssprop --snackbar-icon-margin - Margin of the icon slot * @cssprop --snackbar-border-radius - Border radius * @cssprop --snackbar-padding - Padding * @cssprop --snackbar-content-padding - Padding of the content slot * @cssprop --snackbar-icon-color - Color of the icon slot * @cssprop --snackbar-elevation - Box shadow * @cssprop --snackbar-color - Color * @cssprop --snackbar-bg - Background */ export declare class Snackbar extends OverlayBehavior> implements ISnackbarProperties { static styles: import("lit-element").CSSResult[]; /** * Role of the snackbar. * @attr */ role: AriaRole; /** * Time in ms before the snackbar is hidden automatically. * @attr */ hideDelay: number; /** * Backdrop element. */ protected $backdrop: Backdrop; /** * Snackbar element. */ protected $snackbar: FocusTrap; /** * Focus trap element. */ protected get $focusTrap(): FocusTrap; /** * Timeout that automatically hides the snackbar. */ protected autoHideTimeout: number | null; /** * Animates the snackbar in. */ protected animateIn(): void; /** * Animates the snackbar out. * @param result */ protected animateOut(result?: R): void; /** * When the snackbar shows we start a timeout that hides it. */ didShow(): void; /** * Returns the template of the element. */ protected render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { "wl-snackbar": Snackbar; } }