import { Item, ItemOptions } from "./item";
import { Product } from "./product";
export type PromotionOptions = ItemOptions & {
    products: Product[];
    termsUrl: string;
    banner?: string;
    maxQuantity?: number;
};
export declare class Promotion extends Item {
    readonly products: Product[];
    readonly termsUrl: string;
    readonly banner?: string;
    readonly _maxQuantity?: number;
    constructor({ stock, multipleQuantity, name, warehouseId, image, id, packagingType, products, termsUrl, banner, quantity, maxQuantity, }: PromotionOptions, rate: number);
    get stock(): number;
    set stock(stock: number);
    get subtotal(): number | null;
    get total(): number | null;
    get totalDollars(): number | null;
    increase(): void;
    decrease(): void;
    set quantity(quantity: number | undefined);
    get quantity(): number | undefined;
    get regularPrice(): number;
    get regularPriceDolar(): number;
    get price(): number;
    get discountedPrice(): number | undefined;
    get chiperPrice(): number;
    get maxQuantity(): number | undefined;
    static fromShopCart({ products, stock, quantity, name, medium, id, warehouseId, packagingType, termsUrl, banner, maximumQuantity, }: any, rate: number): any;
    static from({ products, quantity, stock, name, medium, id, warehouseId, packagingType, termsUrl, maximumQuantity, maxQuantity, banner, }: any, rate: number): Item;
    static fromCatalog({ detailsDescription, stock, name, medium, id, warehouseId, packagingType, termsUrl, banner, quantity, maxQuantity, }: any, rate: number): Promotion;
    clone(): Promotion;
    toJSON(): any;
}
