import { ExtensionPointsKeys } from '../types.js';
export type AddItemData = {
    quantity: number;
    id: string;
    seller: string;
};
export type BaseCartItem = {
    quantity: number;
    imageUrl: string;
    productUrl: string;
};
export type CartAvailableItem = BaseCartItem & {
    status: 'available';
    price: number;
};
export type CartUnavailableItem = BaseCartItem & {
    status: 'unavailable';
    price?: number;
};
export type CartItem = CartAvailableItem | CartUnavailableItem;
export type UseCart = {
    items: CartItem[];
    addItem: (data: AddItemData) => Promise<void>;
};
type Branding = {
    color?: string;
    logo?: string;
};
export type UseSettings = {
    branding: Branding;
};
export type UseCartItem = CartAvailableItem | CartUnavailableItem;
export type UseExtension = {
    account: string;
    extensionPoint: ExtensionPointsKeys;
};
export type ExtensionPointApi = {
    useExtension: () => UseExtension;
    useSettings: () => UseSettings;
    useCart?: () => UseCart;
    useCartItem?: () => UseCartItem;
};
export {};
