import { ReactNode, FC } from 'react';
import { ToastContainerProps } from 'react-toastify';
import type { ToastOptions } from 'react-toastify/dist/types';
export interface NotificationGlobalConfig extends ToastContainerProps {
    prefix?: string;
    size?: 'small' | 'large';
}
export interface NotificationConfig extends ToastOptions {
    containerId?: string | number;
    description?: ReactNode;
    icon?: ReactNode;
    title?: ReactNode;
}
export interface NotificationContentProps extends Omit<NotificationConfig, 'containerId'> {
    prefix?: string;
}
export declare const NotificationContent: FC<NotificationContentProps>;
export declare const useNotification: () => {
    loading: <TData = unknown>(content: import("react-toastify").ToastContent<TData>, options?: ToastOptions<{}> | undefined) => import("react-toastify").Id;
    promise: <TData_1 = unknown, TError = unknown, TPending = unknown>(promise: Promise<TData_1> | (() => Promise<TData_1>), { pending, error, success }: import("react-toastify").ToastPromiseParams<TData_1, TError, TPending>, options?: ToastOptions<{}> | undefined) => Promise<TData_1>;
    success: <TData_2 = unknown>(content: import("react-toastify").ToastContent<TData_2>, options?: ToastOptions<{}> | undefined) => import("react-toastify").Id;
    info: <TData_3 = unknown>(content: import("react-toastify").ToastContent<TData_3>, options?: ToastOptions<{}> | undefined) => import("react-toastify").Id;
    error: <TData_4 = unknown>(content: import("react-toastify").ToastContent<TData_4>, options?: ToastOptions<{}> | undefined) => import("react-toastify").Id;
    warning: <TData_5 = unknown>(content: import("react-toastify").ToastContent<TData_5>, options?: ToastOptions<{}> | undefined) => import("react-toastify").Id;
    warn: <TData_6 = unknown>(content: import("react-toastify").ToastContent<TData_6>, options?: ToastOptions<{}> | undefined) => import("react-toastify").Id;
    dark: (content: import("react-toastify").ToastContent, options?: ToastOptions<{}> | undefined) => import("react-toastify").Id;
    dismiss: (id?: import("react-toastify").Id | undefined) => void;
    clearWaitingQueue: (params?: import("react-toastify").ClearWaitingQueueParams | undefined) => void;
    isActive: (id: import("react-toastify").Id) => boolean;
    update: <TData_7 = unknown>(toastId: import("react-toastify").Id, options?: import("react-toastify").UpdateOptions<TData_7> | undefined) => void;
    done: (id: import("react-toastify").Id) => void;
    onChange: (callback: import("react-toastify/dist/core").OnChangeCallback) => () => void;
    POSITION: {
        TOP_LEFT: import("react-toastify").ToastPosition;
        TOP_RIGHT: import("react-toastify").ToastPosition;
        TOP_CENTER: import("react-toastify").ToastPosition;
        BOTTOM_LEFT: import("react-toastify").ToastPosition;
        BOTTOM_RIGHT: import("react-toastify").ToastPosition;
        BOTTOM_CENTER: import("react-toastify").ToastPosition;
    };
    TYPE: {
        INFO: import("react-toastify").TypeOptions;
        SUCCESS: import("react-toastify").TypeOptions;
        WARNING: import("react-toastify").TypeOptions;
        ERROR: import("react-toastify").TypeOptions;
        DEFAULT: import("react-toastify").TypeOptions;
    };
    push: (config?: NotificationConfig, CustomComponent?: ReactNode) => import("react-toastify").Id;
};
export declare const NotificationContainer: (globalConfig: NotificationGlobalConfig) => import("react/jsx-runtime").JSX.Element;
export type { Id } from 'react-toastify';
