export interface CartItem {
    id: string;
    name: string;
    price: number;
    quantity: number;
}
export interface Product {
    id: string;
    name: string;
    description: string;
    price: number;
    organization_id: string;
    created_at: string;
    updated_at: string;
    organizations: {
        id: string;
        name: string;
        slug: string;
    };
}
export interface EshopConfig {
    discountCodes?: Record<string, number>;
    apiEndpoint?: string;
    storageKeys?: {
        cart?: string;
        discountCode?: string;
        discountPercentage?: string;
    };
}
export interface EshopContextType {
    cart: CartItem[];
    addToCart: (item: CartItem) => void;
    removeFromCart: (id: string) => void;
    removeOneFromCart: (id: string) => void;
    clearCart: () => void;
    applyDiscountCode: (code: string) => boolean;
    removeDiscountCode: () => void;
    discountCode: string | null;
    discountPercentage: number;
    subtotal: number;
    total: number;
    shippingCost: number;
    setShippingCost: (cost: number) => void;
    finalizeOrder: (customerInfo: any) => Promise<{
        order: any;
    }>;
}
export interface EshopProviderProps {
    children: React.ReactNode;
    config?: EshopConfig;
}
export interface ApiResponse<T> {
    data?: T;
    error?: string;
}
export interface ProductsResponse {
    products: Product[];
}
//# sourceMappingURL=index.d.ts.map