import { ToastProps } from '../Toast';
import { GroupConfig } from './getGroups';
import './Toaster.less';
export type ToastPropsWithKey = ToastProps & {
    key: string;
};
export type ToasterProps = {
    /**
     * Toaster view
     * @since 3.41.0
     * @ignore beta
     */
    view?: 'toast' | 'panel';
    /**
     * Toaster position. Supported for `toast` view only
     * @since 0.0.42
     */
    position?: 'top-end' | 'bottom-end';
    /**
     * @since 0.0.47
     */
    toasts?: ToastPropsWithKey[];
    /**
     * Maximum number of toaster messages that can be displayed at the same time on a screen
     * @since 1.4.1
     */
    maxToastsNumber?: number;
    /**
     * @ignore
     */
    className?: string;
    /**
     * @ignore
     */
    baseClassName?: string;
    /**
     * Triggered when a toast was closed
     * @since 1.6.0
     */
    onToastClose?: (key: string) => void;
    /**
     * Triggered when a toast group was closed.
     * Used in `panel` view
     * @since 3.41.0
     * @ignore beta
     */
    onToastGroupClose?: (keys: string[]) => void;
    /**
     * Group configurations. Used to customise group behaviour.
     * Used in `panel` view
     * @since 3.41.0
     * @ignore beta
     */
    groupConfigs?: GroupConfig[];
    /**
     * Whether the panel is collapsed or not. Used in `panel` view.
     * @since 3.41.0
     * @ignore beta
     */
    isPanelCollapsed?: boolean;
    /**
     * Triggered when the panel collapse state changes. Used in `panel` view.
     * @since 3.41.0
     * @ignore beta
     */
    onPanelCollapseStateChange?: (isCollapsed: boolean) => void;
};
interface ToasterHandle {
    add: (props: ToastProps) => string;
    update: (key: string, props: ToastProps) => string;
    remove: (key: string) => void;
    clear: () => void;
}
declare const Toaster: import("react").ForwardRefExoticComponent<ToasterProps & import("react").RefAttributes<ToasterHandle>>;
type ExtendedToaster = typeof Toaster & {
    /** @deprecated */
    create: (props?: ToasterProps, container?: HTMLElement) => ToasterHandle;
};
/**
 * `Toaster` is used for notifying about events happened in the system. For example, about results of performed operations.
 * @since 0.0.42
 */
declare const _default: ExtendedToaster;
export default _default;
