/**
 * @license
 * Copyright 2026 Kai-Orion & Sandlada
 * SPDX-License-Identifier: MIT
 */
import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
import { type ISnackbar, type SnackbarAnimationMode, type SnackbarDuration, type SnackbarVariant } from './snackbar.interface';
declare global {
    interface HTMLElementTagNameMap {
        'mdc-snackbar': MDCSnackbar;
    }
}
declare const MDCSnackbar_base: Omit<typeof LitElement, "prototype"> & (new () => LitElement & object);
/**
 * @element mdc-snackbar
 *
 * A brief message displayed at the bottom of the screen.
 * Can include an optional action button and close icon.
 *
 * @slot - The snackbar message text.
 * @slot icon - Optional leading icon.
 * @slot action - Optional action button.
 * @slot close-icon - Optional close icon button.
 *
 * @fires snackbar-opening - Dispatched when the snackbar starts opening.
 * @fires snackbar-opened - Dispatched when the snackbar is fully open.
 * @fires snackbar-closing - Dispatched when the snackbar starts closing.
 * @fires snackbar-closed - Dispatched when the snackbar is fully closed.
 * @fires snackbar-action - Dispatched when the action button is clicked.
 *
 * @cssproperty --mdc-snackbar-enabled-container-color
 * @cssproperty --mdc-snackbar-container-shape-start-start
 * @cssproperty --mdc-snackbar-container-shape-start-end
 * @cssproperty --mdc-snackbar-container-shape-end-start
 * @cssproperty --mdc-snackbar-container-shape-end-end
 * @cssproperty --mdc-snackbar-enabled-label-color
 * @cssproperty --mdc-snackbar-enabled-action-text-color
 * @cssproperty --mdc-snackbar-enabled-close-icon-color
 *
 * @version
 * Material Design 3
 *
 * @link
 * https://m3.material.io/components/snackbar/overview
 */
export declare class MDCSnackbar extends MDCSnackbar_base implements ISnackbar {
    static styles: import("lit").CSSResult[];
    open: boolean;
    duration: SnackbarDuration;
    animationMode: SnackbarAnimationMode;
    multiline: boolean;
    variant: SnackbarVariant;
    hasAction: boolean;
    hasCloseIcon: boolean;
    hasIcon: boolean;
    protected readonly containerElement: HTMLDivElement | null;
    protected readonly actionButton: HTMLButtonElement | null;
    protected readonly closeButton: HTMLButtonElement | null;
    private autoHideTimer;
    private animationAbortController;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected willUpdate(changedProperties: PropertyValues<this>): void;
    protected getRenderClasses(): {
        [x: string]: boolean;
        container: boolean;
        multiline: boolean;
        'has-action': boolean;
        'has-close-icon': boolean;
        'has-icon': boolean;
        closing: boolean;
    };
    protected render(): TemplateResult;
    protected renderIcon(): TemplateResult;
    protected renderLabel(): TemplateResult;
    protected renderAction(): TemplateResult;
    protected renderCloseIcon(): TemplateResult;
    /**
     * Shows the snackbar.
     */
    show(): Promise<void>;
    /**
     * Hides the snackbar.
     */
    hide(): Promise<void>;
    private handleOpen;
    private handleClose;
    private startAutoHideTimer;
    private clearAutoHideTimer;
    private handleClick;
    private handleActionClick;
    private handleCloseIconClick;
    private handleActionSlotChange;
    private handleCloseIconSlotChange;
    private handleIconSlotChange;
}
export {};
//# sourceMappingURL=snackbar.d.ts.map