export type ToastType = 'default' | 'success' | 'error' | 'loading';
export interface Toast {
    id: string;
    message: string;
    type: ToastType;
    duration?: number;
    icon?: string;
    activateActionOnClick?: boolean;
    action?: {
        label: string;
        href?: string;
        onClick?: () => void | Promise<void>;
    };
}
interface ToastState {
    toasts: Toast[];
    addToast: (toast: Omit<Toast, 'id'>) => string;
    removeToast: (id: string) => void;
    updateToast: (id: string, updates: Partial<Omit<Toast, 'id'>>) => void;
    clearToasts: () => void;
}
export declare const useToastStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ToastState>>;
export declare function toast(message: string, type?: ToastType, duration?: number): string;
export declare namespace toast {
    var success: (message: string, duration?: number) => string;
    var error: (message: string, duration?: number) => string;
    var info: (message: string, duration?: number) => string;
    var loading: (message: string) => string;
    var successWithAction: (message: string, action: {
        label: string;
        href?: string;
        onClick?: () => void | Promise<void>;
    }, duration?: number) => string;
}
export {};
//# sourceMappingURL=toastStore.d.ts.map