export type ProductType = 'normal' | 'finance' | 'position';
export interface ProductModel {
    productId: string;
    channelId: string;
    name: string;
    productType: ProductType;
    status: number;
    linkType: number;
    cover?: string;
    price?: number;
    realPrice?: number;
    createdTime: number;
    updatedTime: number;
}
export interface ProductListRequest {
    page?: number;
    size?: number;
    channelId?: string;
    platform?: boolean;
}
export interface ProductListResponse {
    code: number;
    status: 'success' | 'error';
    data: {
        contents: ProductModel[];
        totalItems: number;
        pageNumber: number;
        pageSize: number;
        totalPages: number;
    };
    error?: {
        code: string;
        desc: string;
    };
}
export interface ProductServiceConfig {
    baseUrl: string;
    timeout: number;
    debug: boolean;
}
export interface ProductListItem {
    productId: string;
    channelId: string;
    name: string;
    productType: ProductType;
    status: number;
    price?: number;
    realPrice?: number;
    createdAt: Date;
    updatedAt: Date;
}
export interface ProductValidationError {
    field: string;
    message: string;
    value: any;
}
export type ProductLinkType = 10 | 11;
export type ProductStatusType = 1 | 2;
export type ProductPriceType = 'AMOUNT' | 'CUSTOM';
export interface ProductAddOptions {
    channelId: string;
    productType?: ProductType;
    name: string;
    status: ProductStatusType;
    linkType: ProductLinkType;
    cover?: string;
    link?: string;
    pcLink?: string;
    mobileLink?: string;
    wxMiniprogramLink?: string;
    wxMiniprogramOriginalId?: string;
    mobileAppLink?: string;
    androidLink?: string;
    iosLink?: string;
    params?: string;
    productDesc?: string;
    features?: string;
    btnShow?: string;
    yield?: string;
    originId?: string;
    strategy?: 'copy' | 'ref';
    productDetail?: string;
    ext?: string;
    tagIds?: string;
    priceType?: ProductPriceType;
    realPrice?: number;
    customPrice?: string;
    originalPriceType?: ProductPriceType;
    price?: number;
    customOrignalPrice?: string;
    output?: 'table' | 'json';
}
export interface ProductAddResult {
    productId: number;
    name: string;
    channelId: string;
    createdTime: number;
}
export interface ProductUpdateOptions {
    channelId: string;
    productId: number;
    name: string;
    status: ProductStatusType;
    linkType: ProductLinkType;
    cover?: string;
    link?: string;
    pcLink?: string;
    mobileLink?: string;
    wxMiniprogramLink?: string;
    wxMiniprogramOriginalId?: string;
    mobileAppLink?: string;
    androidLink?: string;
    iosLink?: string;
    params?: string;
    productDesc?: string;
    features?: string;
    btnShow?: string;
    yield?: string;
    productDetail?: string;
    ext?: string;
    tagIds?: string;
    priceType?: ProductPriceType;
    realPrice?: number;
    customPrice?: string;
    originalPriceType?: ProductPriceType;
    price?: number;
    customOrignalPrice?: string;
    output?: 'table' | 'json';
}
export interface ProductDeleteOptions {
    channelId: string;
    productId: number;
    force?: boolean;
    output?: 'table' | 'json';
}
export interface ProductLibraryListOptions {
    page?: number;
    size?: number;
    keyword?: string;
    productType?: string;
    output?: 'table' | 'json';
}
export interface ProductLibraryCreateOptions {
    name: string;
    linkType: number;
    link: string;
    cover?: string;
    productType?: string;
    pcLink?: string;
    mobileLink?: string;
    wxMiniprogramOriginalId?: string;
    wxMiniprogramLink?: string;
    mobileAppLink?: string;
    iosLink?: string;
    androidLink?: string;
    otherLink?: string;
    features?: string;
    tagIds?: string;
    btnShow?: string;
    productDesc?: string;
    productDetail?: string;
    ext?: string;
    priceType?: ProductPriceType;
    realPrice?: number;
    customPrice?: string;
    originalPriceType?: ProductPriceType;
    price?: number;
    customOrignalPrice?: string;
    force?: boolean;
    output?: 'table' | 'json';
}
export interface ProductLibraryUpdateOptions extends ProductLibraryCreateOptions {
    productId: string;
}
export interface ProductLibraryDeleteOptions {
    productId: string;
    force?: boolean;
    output?: 'table' | 'json';
}
export interface ProductTagListOptions {
    channelId: string;
    page?: number;
    size?: number;
    keyword?: string;
    output?: 'table' | 'json';
}
export interface ProductTagCreateOptions {
    name: string;
    force?: boolean;
    output?: 'table' | 'json';
}
export interface ProductTagUpdateOptions {
    id: number;
    name: string;
    force?: boolean;
    output?: 'table' | 'json';
}
export interface ProductTagDeleteOptions {
    id: number;
    force?: boolean;
    output?: 'table' | 'json';
}
export interface ProductOrderListOptions {
    page?: number;
    size?: number;
    output?: 'table' | 'json';
}
export interface ProductOrderGetOptions {
    orderNo: string;
    output?: 'table' | 'json';
}
export interface ProductOrderBatchStatusOptions {
    orderNos: string;
    status: string;
    force?: boolean;
    output?: 'table' | 'json';
}
//# sourceMappingURL=product.d.ts.map