import React from 'react';
import { TUpdateDisabledCartItem } from './types';
interface CartItem {
    _id: string;
    [key: string]: any;
}
interface CartData {
    cartItems: CartItem[];
    currentCartItem: CartItem | null;
}
interface CartContextType {
    createCartItem: () => CartItem;
    createCartItemFromEvent: (eventItem: any) => CartItem;
    createCartItemFromHolder: (holderItem: any) => CartItem;
    addToCart: () => void;
    updateCartItem: (cartItem: CartItem, updateType?: 'deposit') => CartItem;
    deleteCartItem: (cartItem: CartItem) => void;
    clickCartItem: (cartItem: CartItem) => void;
    updateCurrentCartItem: (cartItem: Partial<CartItem>) => void;
    clearCurrentCartItem: () => void;
    currentCartItem: CartItem | null;
    checkHolder: () => boolean;
    cartData: CartData;
    openCart: boolean;
    onOpenCart: any;
    onCloseCart: any;
    deleteCartItemByHolder: (holder_id: number) => void;
    addHolderToCartItem: (holderItem: any) => void;
    cartDataHolderList: any;
    addNoteToCartItem: (cartItem: CartItem) => void;
    updateDisabledCartItem: TUpdateDisabledCartItem;
    getWithoutCartItemsHolderNames: () => Array<string>;
    checkBeforeAddToCartResquest: any;
    checkBeforeAddToCart: () => Promise<{
        result: boolean;
        num: number;
    }>;
}
interface CartProviderProps {
    children: React.ReactNode;
}
export declare const CartContext: React.Context<CartContextType | undefined>;
export declare const CartProvider: React.FC<CartProviderProps>;
/**
 * 使用步骤管理的Hook
 * @throws {Error} 如果在StepProvider外部使用会抛出错误
 * @returns {StepContextType} 步骤管理上下文
 */
export declare const useCart: () => CartContextType;
declare const _default: {
    defaultState: CartData;
};
export default _default;
