import { PropertyValueMap } from "lit";
import { FRoot } from "../../mixins/components/f-root/f-root";
import { Ref } from "lit/directives/ref.js";
export type FToastState = "default" | "primary" | "success" | "warning" | "danger";
export declare class FToast extends FRoot {
    /**
     * css loaded from scss file
     */
    static styles: import("lit").CSSResult[];
    /**
     * @attribute Flow 2 provides two types of toast: auto-hide: toast disappears after the definite amount of time, and persist: toast remains on screen until the user interacts with it.
     */
    type?: "auto-hide" | "persists";
    /**
     * @attribute When type is auto-hide, duration property defines the time in milliseconds after which toast disappears. By default it is 5000 ms
     */
    duration?: number;
    /**
     * @attribute States are used to communicate purpose and connotations. For example, a red color connotes danger, whereas a green color connotes success and so on.
     */
    state?: FToastState;
    /**
     * @attribute Enables a ‘close’ icon-button on top left of the toast
     */
    ["close-button"]?: boolean;
    mouseover: boolean;
    removeTimeout: ReturnType<typeof setTimeout>;
    toasterRef: Ref<HTMLDivElement>;
    /**
     * get current uid
     */
    get uid(): string;
    /**
     * generating uid for toast queue
     * @param length length of uid
     * @returns uid
     */
    generateId(): string;
    /**
     * remove the toast on click of remove icon
     */
    remove(): void;
    /**
     * checks for whether or not the toast auto-hides or persists
     * @returns void
     */
    autoRemoveConfig(): void;
    /**
     * set position of resepective toast
     * @param top top position string in px
     * @param right rigjt position string in px
     */
    setPosition(top: string, right: string): void;
    /**
     * dispatch remove event
     * @param e Event
     */
    dispatchOnRemove(): void;
    /**
     * add toast to queue
     */
    addToastToQueue(): void;
    protected willUpdate(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    /**
     * Final render
     * @returns html
     */
    render(): import("lit-html").TemplateResult<1>;
    firstUpdated(): void;
    protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
}
/**
 * Required for typescript
 */
declare global {
    interface HTMLElementTagNameMap {
        "f-toast": FToast;
    }
}
