import * as React from 'react';
import type { ToasterProps, ToastPropsShape, ToasterContainerState, ToastProps } from './types';
export declare class ToasterContainer extends React.Component<Partial<ToasterProps>, ToasterContainerState> {
    static defaultProps: ToasterProps;
    constructor(props: ToasterProps);
    state: {
        isMounted: boolean;
        toasts: any[];
    };
    dismissHandlers: {};
    toastId: number;
    componentDidMount(): void;
    getToastProps: (props: ToastProps) => ToastProps & {
        key: React.Key;
    };
    show: (props?: ToastProps) => React.Key;
    update: (key: React.Key, props: ToastProps) => void;
    dismiss: (key: React.Key) => void;
    clearAll: () => void;
    clear: (key?: React.Key) => void;
    internalOnClose: (key: React.Key) => void;
    getOnCloseHandler: (key: React.Key, onClose?: (() => unknown) | null) => () => void;
    renderToast: (toastProps: ToastProps & {
        key: React.Key;
    }) => React.ReactNode;
    getSharedProps: () => {
        $placement: import("./types").PlacementType;
    };
    render(): React.JSX.Element;
}
declare const toaster: {
    getRef: () => ToasterContainer | undefined;
    show: (children: React.ReactNode, props?: ToastPropsShape) => React.Key | undefined | null;
    info: (children: React.ReactNode, props?: ToastPropsShape) => React.Key;
    positive: (children: React.ReactNode, props?: ToastPropsShape) => React.Key;
    warning: (children: React.ReactNode, props?: ToastPropsShape) => React.Key;
    negative: (children: React.ReactNode, props?: ToastPropsShape) => React.Key;
    update: (key: React.Key, props: Partial<ToastProps>) => void;
    clear: (key?: React.Key | undefined | null) => void;
};
export default toaster;
