import * as React from 'react';
import { Toaster as SonnerToaster } from 'sonner';
import type { ExternalToast } from 'sonner';
import type { ToolType } from '../../types/tool.types';
export type ToastVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
export declare const dotColorByVariant: Record<ToastVariant, string>;
export declare const progressColorByVariant: Record<ToastVariant, string>;
export interface ToastCardProps {
    id: string | number;
    variant?: ToastVariant;
    title?: React.ReactNode;
    description?: React.ReactNode;
    duration?: number;
    dismissible?: boolean;
    className?: string;
}
export declare function ToastCard({ id, variant, title, description, duration, dismissible, className, }: ToastCardProps): React.JSX.Element;
export interface CommandApprovalToastProps {
    id: string | number;
    variant?: ToastVariant;
    title?: React.ReactNode;
    description?: React.ReactNode;
    command: string;
    toolType?: ToolType;
    approvalDescription?: React.ReactNode;
    approveLabel?: string;
    rejectLabel?: string;
    onApprove?: () => void;
    onReject?: () => void;
    duration?: number;
    dismissible?: boolean;
    defaultExpanded?: boolean;
    className?: string;
}
export declare function CommandApprovalToast({ id, variant, title, description, command, toolType, approvalDescription, approveLabel, rejectLabel, onApprove, onReject, duration, dismissible, defaultExpanded, className, }: CommandApprovalToastProps): React.JSX.Element;
export type ToasterProps = React.ComponentProps<typeof SonnerToaster>;
export declare function Toaster({ position, offset, gap, toastOptions, ...rest }?: ToasterProps): React.JSX.Element;
export interface ShowToastOptions extends Omit<ExternalToast, 'description'> {
    title?: React.ReactNode;
    description?: React.ReactNode;
    variant?: ToastVariant;
}
export declare function showToast(options: ShowToastOptions | string): string | number;
export interface ShowCommandApprovalToastOptions extends Omit<ExternalToast, 'description'>, Omit<CommandApprovalToastProps, 'id'> {
}
export declare function showCommandApprovalToast(options: ShowCommandApprovalToastOptions): string | number;
//# sourceMappingURL=toaster.d.ts.map