export interface ToastOptions {
    title?: string;
    description?: string;
    variant?: 'default' | 'success' | 'destructive' | 'info' | 'warning' | 'error';
    duration?: number;
    dismissible?: boolean;
}
export declare const toast: (options: ToastOptions | string) => string | number;
export declare const useToast: () => {
    toast: (options: ToastOptions | string) => string | number;
    dismiss: (id?: number | string) => string | number;
    promise: <ToastData>(promise: Promise<ToastData> | (() => Promise<ToastData>), data?: {
        duration?: number | undefined;
        invert?: boolean | undefined;
        position?: ("top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center") | undefined;
        className?: string | undefined;
        id?: number | string | undefined;
        style?: React.CSSProperties | undefined;
        icon?: import("react").ReactNode;
        cancel?: import("react").ReactNode | import("sonner").Action;
        onDismiss?: ((toast: import("sonner").ToastT) => void) | undefined;
        classNames?: import("sonner").ToastClassnames | undefined;
        action?: import("react").ReactNode | import("sonner").Action;
        dismissible?: boolean | undefined;
        richColors?: boolean | undefined;
        closeButton?: boolean | undefined;
        descriptionClassName?: string | undefined;
        cancelButtonStyle?: React.CSSProperties | undefined;
        actionButtonStyle?: React.CSSProperties | undefined;
        unstyled?: boolean | undefined;
        onAutoClose?: ((toast: import("sonner").ToastT) => void) | undefined;
    } & {
        loading?: string | React.ReactNode;
        success?: import("react").ReactNode | ((data: ToastData) => React.ReactNode | string | Promise<React.ReactNode | string>);
        error?: import("react").ReactNode | ((data: any) => React.ReactNode | string | Promise<React.ReactNode | string>);
        description?: import("react").ReactNode | ((data: any) => React.ReactNode | string | Promise<React.ReactNode | string>);
        finally?: () => void | Promise<void>;
    }) => (string & {
        unwrap: () => Promise<ToastData>;
    }) | (number & {
        unwrap: () => Promise<ToastData>;
    }) | {
        unwrap: () => Promise<ToastData>;
    };
};
//# sourceMappingURL=use-toast.d.ts.map