from typing import Any, Optional

class Rule:
    id = ...  # type: Any
    prefix = ...  # type: Any
    status = ...  # type: Any
    expiration = ...  # type: Any
    transition = ...  # type: Any
    def __init__(self, id: Optional[Any] = ..., prefix: Optional[Any] = ..., status: Optional[Any] = ..., expiration: Optional[Any] = ..., transition: Optional[Any] = ...) -> None: ...
    def startElement(self, name, attrs, connection): ...
    def endElement(self, name, value, connection): ...
    def to_xml(self): ...

class Expiration:
    days = ...  # type: Any
    date = ...  # type: Any
    def __init__(self, days: Optional[Any] = ..., date: Optional[Any] = ...) -> None: ...
    def startElement(self, name, attrs, connection): ...
    def endElement(self, name, value, connection): ...
    def to_xml(self): ...

class Transition:
    days = ...  # type: Any
    date = ...  # type: Any
    storage_class = ...  # type: Any
    def __init__(self, days: Optional[Any] = ..., date: Optional[Any] = ..., storage_class: Optional[Any] = ...) -> None: ...
    def to_xml(self): ...

class Transitions(list):
    transition_properties = ...  # type: int
    current_transition_property = ...  # type: int
    temp_days = ...  # type: Any
    temp_date = ...  # type: Any
    temp_storage_class = ...  # type: Any
    def __init__(self) -> None: ...
    def startElement(self, name, attrs, connection): ...
    def endElement(self, name, value, connection): ...
    def to_xml(self): ...
    def add_transition(self, days: Optional[Any] = ..., date: Optional[Any] = ..., storage_class: Optional[Any] = ...): ...
    @property
    def days(self): ...
    @property
    def date(self): ...
    @property
    def storage_class(self): ...

class Lifecycle(list):
    def startElement(self, name, attrs, connection): ...
    def endElement(self, name, value, connection): ...
    def to_xml(self): ...
    def add_rule(self, id: Optional[Any] = ..., prefix: str = ..., status: str = ..., expiration: Optional[Any] = ..., transition: Optional[Any] = ...): ...
