/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
import { PopupPlacement } from '../popup';
import { IToastComponent } from './toast';
export interface IToastAdapter extends IBaseAdapter {
    setHostAttribute: (name: string, value: string) => void;
    setMessage: (value: string) => void;
    setMessageTemplate: (tpl: HTMLElement | string) => void;
    setActionVisibility: (isVisible: boolean) => void;
    setActionText: (message: string) => void;
    registerActionListener: (type: string, listener: (evt: MouseEvent) => void) => void;
    deregisterActionListener: (type: string, listener: (evt: MouseEvent) => void) => void;
    setPlacement: (placement: PopupPlacement) => void;
    setActive: (isActive: boolean) => void;
    setCloseButtonVisibility(visible: boolean): void;
    registerCloseListener(listener: (evt: Event) => void): void;
}
/**
 * The DOM adapter for the `ToastComponent` web component.
 */
export declare class ToastAdapter extends BaseAdapter<IToastComponent> implements IToastAdapter {
    private _containerElement;
    private _messageElement;
    private _actionButtonElement;
    private _actionButtonPlaceholder;
    private _closeButtonElement;
    constructor(component: IToastComponent);
    /**
     * Sets an attrinbute on the host element.
     * @param name The attribute name.
     * @param value The attribute value.
     */
    setHostAttribute(name: string, value: string): void;
    /**
     * Sets the message text on the toast element.
     * @param value The message text.
     */
    setMessage(value: string): void;
    /**
     * Sets a custom template on the message element.
     * @param tpl The message template.
     */
    setMessageTemplate(tpl: HTMLElement | string): void;
    /**
     * Toggles the visibility of the action button element.
     * @param isVisible The visibility.
     */
    setActionVisibility(isVisible: boolean): void;
    /**
     * Sets the action button text.
     * @param message The message text.
     */
    setActionText(message: string): void;
    /**
     * Adds an event listener to the action button element.
     * @param type The event type.
     * @param listener The event listener.
     */
    registerActionListener(type: string, listener: (evt: MouseEvent) => void): void;
    /**
     * Removes an event listener from the action button.
     * @param type The event type.
     * @param listener The event listener.
     */
    deregisterActionListener(type: string, listener: (evt: MouseEvent) => void): void;
    /**
     * Adjusts the class applied to the toast container to position it properly.
     * @param placement The screen placement position.
     */
    setPlacement(placement: PopupPlacement): void;
    /**
     * Triggers the addition of classes to the container element to hide or show the toast using CSS transitions.
     * @param isActive Active or not.
     */
    setActive(isActive: boolean): void;
    setCloseButtonVisibility(visible: boolean): void;
    registerCloseListener(listener: (evt: Event) => void): void;
    private _getPlacementClass;
}
