"""Type stubs for TaskBuilder."""
from typing import Optional, Any
from aoe2_genie_tooling.Units.handles import TaskHandle
from aoe2_genie_tooling.Units.unit_handle import UnitHandle

class TaskBuilder:
    def __init__(self, unit_handle: UnitHandle) -> None: ...
    def none(self, **kwargs) -> Optional[TaskHandle]: ...
    def move_to(self, **kwargs) -> Optional[TaskHandle]: ...
    def follow(self, **kwargs) -> Optional[TaskHandle]: ...
    def garrison(self, class_id: int = -1, **kwargs) -> Optional[TaskHandle]: ...
    def explore(self, **kwargs) -> Optional[TaskHandle]: ...
    def gather(self, resource_in: int = -1, resource_out: int = -1, **kwargs) -> Optional[TaskHandle]: ...
    def graze(self, **kwargs) -> Optional[TaskHandle]: ...
    def combat(self, class_id: int = -1, **kwargs) -> Optional[TaskHandle]: ...
    def shoot(self, **kwargs) -> Optional[TaskHandle]: ...
    def attack(self, **kwargs) -> Optional[TaskHandle]: ...
    def fly(self, **kwargs) -> Optional[TaskHandle]: ...
    def scare_hunt(self, **kwargs) -> Optional[TaskHandle]: ...
    def unload_boat(self, **kwargs) -> Optional[TaskHandle]: ...
    def guard(self, **kwargs) -> Optional[TaskHandle]: ...
    def siege_tower_ability(self, **kwargs) -> Optional[TaskHandle]: ...
    def escape(self, **kwargs) -> Optional[TaskHandle]: ...
    def make(self, **kwargs) -> Optional[TaskHandle]: ...
    def build(self, **kwargs) -> Optional[TaskHandle]: ...
    def make_unit(self, **kwargs) -> Optional[TaskHandle]: ...
    def make_technology(self, **kwargs) -> Optional[TaskHandle]: ...
    def convert(self, work_value_1: float = 0.0, work_value_2: float = 0.0, **kwargs) -> Optional[TaskHandle]: ...
    def heal(self, work_value_1: float = 0.0, work_range: float = 0.0, **kwargs) -> Optional[TaskHandle]: ...
    def repair(self, **kwargs) -> Optional[TaskHandle]: ...
    def auto_convert(self, capture_text_id: float = 0.0, **kwargs) -> Optional[TaskHandle]: ...
    def discovery_artifact(self, **kwargs) -> Optional[TaskHandle]: ...
    def hunt(self, resource_in: int = -1, resource_out: int = -1, decay_prevent_resource: int = -1, **kwargs) -> Optional[TaskHandle]: ...
    def trade(self, unit_id: int = -1, **kwargs) -> Optional[TaskHandle]: ...
    def generate_wonder_victory(self, **kwargs) -> Optional[TaskHandle]: ...
    def deselect_when_tasked_farm(self, **kwargs) -> Optional[TaskHandle]: ...
    def loot_gather(self, **kwargs) -> Optional[TaskHandle]: ...
    def housing(self, **kwargs) -> Optional[TaskHandle]: ...
    def pack(self, **kwargs) -> Optional[TaskHandle]: ...
    def unpack_and_attack(self, **kwargs) -> Optional[TaskHandle]: ...
    def off_map_trade(self, **kwargs) -> Optional[TaskHandle]: ...
    def pickup_unit(self, transform_unit_id: float = 0.0, **kwargs) -> Optional[TaskHandle]: ...
    def speed_charge(
        self,
        work_value_1: float = 0.0,
        work_value_2: float = 0.0,
        work_range: float = 0.0,
        work_flag_2: int = 2001,
        **kwargs
    ) -> Optional[TaskHandle]:
        """Action Type 133 - Speed Charge. Requires Special Ability = 3. work_flag_2 MUST be 2001."""
        ...
    def transform_unit(self, **kwargs) -> Optional[TaskHandle]: ...
    def kidnap_unit(self, **kwargs) -> Optional[TaskHandle]: ...
    def deposit_unit(self, transform_unit_id: float = 0.0, **kwargs) -> Optional[TaskHandle]: ...
    def shear(self, **kwargs) -> Optional[TaskHandle]: ...
    def regeneration(self, **kwargs) -> Optional[TaskHandle]: ...
    def resource_generation(
        self,
        amount_received: float = 0.0,
        type_resource_received: int = -1,
        productivity_resource: int = -1,
        target_unit_id: int = -1,
        target_class_id: int = -1,
        units_require_flag_2: int = 0,
        **kwargs
    ) -> Optional[TaskHandle]: ...
    def movement_damage(self, **kwargs) -> Optional[TaskHandle]: ...
    def moveable_drop_site(self, **kwargs) -> Optional[TaskHandle]: ...
    def pillage(
        self,
        amount_received: float = 0.0,
        type_resource_received: int = -1,
        productivity_resource: int = -1,
        tech_effect_id: int = -1,
        unused_4th_resource: int = -1,
        owner_vs_target_range: float = 0.0,
        proceeding_graphic: int = -1,
        resource_gathering_sound: int = -1,
        carry_check_id: int = -1,
        work_flag: int = 0,
        veterancy_effect_attr: float = 0.0,
        veterancy_effect_val: int = 0,
        **kwargs
    ) -> Optional[TaskHandle]: ...
    def aura(
        self,
        attribute_id: float = 0.0,
        max_increase: float = 0.0,
        required_units: float = 0.0,
        radius: float = 0.0,
        affected_players: int = 0,
        proceeding_graphic: int = -1,
        icon_id: int = 0,
        tooltip_short: int = -1,
        tooltip_long: int = -1,
        flags: int = 0,
        **kwargs
    ) -> Optional[TaskHandle]: ...
    def additional_spawn(
        self,
        spawn_unit_id: float = 0.0,
        spawn_count: float = 0.0,
        additional_spawn_count: int = -1,
        **kwargs
    ) -> Optional[TaskHandle]: ...
    def stingers(
        self,
        value_add: float = 0.0,
        duration: float = 0.0,
        apply_to_target: float = 0.0,
        attribute_id: float = 0.0,
        productivity_resource: int = -1,
        flags: int = 0,
        **kwargs
    ) -> Optional[TaskHandle]: ...
    def hp_transformation(
        self,
        transform_unit_id: float = 0.0,
        threshold_hp: float = 0.0,
        productivity_resource: int = -1,
        multiplier_resource: int = -1,
        flags: int = 0,
        **kwargs
    ) -> Optional[TaskHandle]: ...
