import { Module, PisellCore } from '../../types';
import { BaseModule } from '../BaseModule';
import { ProductData, ProductMedia, ProductTag, ProductCategory, ProductBundleGroup } from './types';
export * from './types';
/**
 * 商品详情模块
 * 除了跟商品列表模块组合外，还会提供单独的商品详情页的一些方法
 *
 * @export
 * @class Product
 * @extends {BaseModule}
 * @implements {Module}
 */
export declare class Product extends BaseModule implements Module {
    protected defaultName: string;
    protected defaultVersion: string;
    private store;
    protected otherParams: any;
    constructor(name?: string, version?: string);
    initialize(core: PisellCore, options: any): Promise<void>;
    updateData(data: ProductData): void;
    /**
     * 获取商品数据
     */
    getData(): ProductData;
    /**
     * 获取商品ID
     */
    getId(): number | null;
    /**
     * 获取商品标题
     */
    getTitle(): string | null;
    /**
     * 获取商品捆绑组
     */
    getBundleGroups(): ProductBundleGroup[];
    /**
     * 获取商品媒体
     */
    getMedia(): ProductMedia[];
    /**
     * 获取商品标签
     */
    getTags(): ProductTag[];
    /**
     * 获取商品分类
     */
    getCategories(): ProductCategory[];
    setOtherParams(key: string, value: any): void;
    getOtherParams(): any;
    getProductType(): "normal" | "duration" | "session";
}
