# Stubs for galaxy.tools.parser.output_objects (Python 3.4)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any, Optional
from galaxy.util.dictifiable import Dictifiable

class ToolOutputBase(Dictifiable):
    name = ...  # type: Any
    label = ...  # type: Any
    filters = ...  # type: Any
    hidden = ...  # type: Any
    collection = ...  # type: bool
    def __init__(self, name, label: Optional[Any] = ..., filters: Optional[Any] = ..., hidden: bool = ...) -> None: ...

class ToolOutput(ToolOutputBase):
    dict_collection_visible_keys = ...  # type: Any
    format = ...  # type: Any
    format_source = ...  # type: Any
    metadata_source = ...  # type: Any
    parent = ...  # type: Any
    actions = ...  # type: Any
    change_format = ...  # type: Any
    implicit = ...  # type: Any
    from_work_dir = ...  # type: Any
    def __init__(self, name, format: Optional[Any] = ..., format_source: Optional[Any] = ..., metadata_source: Optional[Any] = ..., parent: Optional[Any] = ..., label: Optional[Any] = ..., filters: Optional[Any] = ..., actions: Optional[Any] = ..., hidden: bool = ..., implicit: bool = ...) -> None: ...
    def __len__(self): ...
    def __getitem__(self, index): ...
    def __iter__(self): ...
    def to_dict(self, view: str = ..., value_mapper: Optional[Any] = ..., app: Optional[Any] = ...): ...

class ToolOutputCollection(ToolOutputBase):
    collection = ...  # type: bool
    default_format = ...  # type: Any
    structure = ...  # type: Any
    outputs = ...  # type: Any
    inherit_format = ...  # type: Any
    inherit_metadata = ...  # type: Any
    metadata_source = ...  # type: Any
    format_source = ...  # type: Any
    change_format = ...  # type: Any
    def __init__(self, name, structure, label: Optional[Any] = ..., filters: Optional[Any] = ..., hidden: bool = ..., default_format: str = ..., default_format_source: Optional[Any] = ..., default_metadata_source: Optional[Any] = ..., inherit_format: bool = ..., inherit_metadata: bool = ...) -> None: ...
    def known_outputs(self, inputs, type_registry): ...
    @property
    def dynamic_structure(self): ...
    @property
    def dataset_collector_descriptions(self): ...

class ToolOutputCollectionStructure:
    collection_type = ...  # type: Any
    collection_type_source = ...  # type: Any
    structured_like = ...  # type: Any
    dataset_collector_descriptions = ...  # type: Any
    dynamic = ...  # type: Any
    def __init__(self, collection_type, collection_type_source, structured_like, dataset_collector_descriptions) -> None: ...

class ToolOutputCollectionPart:
    output_collection_def = ...  # type: Any
    element_identifier = ...  # type: Any
    output_def = ...  # type: Any
    parent_ids = ...  # type: Any
    def __init__(self, output_collection_def, element_identifier, output_def, parent_ids: Any = ...) -> None: ...
    @property
    def effective_output_name(self): ...
    @staticmethod
    def is_named_collection_part_name(name): ...
    @staticmethod
    def split_output_name(name): ...
