import { IItem, UserAccountTypes } from '@rpg-engine/shared';
export interface IStoreItem extends Omit<IItem, 'canSell'> {
    price: number;
    requiredAccountType?: UserAccountTypes[];
    key: string;
    name: string;
    texturePath: string;
}
export interface ICartItem {
    item: IStoreItem;
    quantity: number;
}
export interface IItemPack {
    key: string;
    title: string;
    description: string;
    priceUSD: number;
    image: {
        src: string;
        default?: string;
    };
}
export interface IStoreProps {
    items: IStoreItem[];
    packs?: IItemPack[];
    atlasJSON: Record<string, any>;
    atlasIMG: string;
    onPurchase: (purchase: IPurchase) => void;
    userAccountType: UserAccountTypes;
    loading?: boolean;
    error?: string;
    initialSearchQuery?: string;
    onClose?: () => void;
}
export declare enum PurchaseType {
    PremiumAccount = "PremiumAccount",
    Item = "Item",
    Pack = "Pack"
}
export interface IPurchaseUnit {
    purchaseKey: string;
    qty: number;
    type: PurchaseType;
    name: string;
}
export interface IPurchase {
    purchases: IPurchaseUnit[];
}
