"""
Automatically generated stubfile of 

/home/luciano/flupy/priv/2e-atlas/code/10-dp-1class-func/pytypes/classic_strategy.py
MD5-Checksum: a02fa3b98639f84a81b87d4f46007d51

This file was generated by pytypes.typelogger v1.0b5
at 2020-05-02T15:50:59.987984.

Type information is based on runtime observations while running
CPython 3.8.2 final 0
/home/luciano/flupy/venv-3.8/bin/python3
    /home/luciano/flupy/venv-3.8/bin/pytest

WARNING:
If you edit this file, be aware that it was automatically generated.
Save your customized version to a distinct place;
this file might be overwritten without notice.
"""

from classic_strategy import Customer, Promotion
from typing import Union



class LineItem(object):

    def __init__(self, product: str, quantity: int, price: float) -> None: ...
    def total(self) -> float: ...

class Order(object):

    def __init__(self, customer: Customer, cart: List[LineItem], promotion: Union[BulkItemPromo, FidelityPromo, LargeOrderPromo]) -> None: ...
    def total(self) -> float: ...
    def due(self) -> float: ...

class FidelityPromo(Promotion):

    def discount(self, order: Order) -> float: ...

class BulkItemPromo(Promotion):

    def discount(self, order: Order) -> float: ...

class LargeOrderPromo(Promotion):

    def discount(self, order: Order) -> float: ...

