"""Type stubs for poetry.installation.installer"""

from typing import Any, Dict, Set

from poetry.config.config import Config
from poetry.core.packages.package import Package
from poetry.repositories import Repository
from poetry.utils.env import Env

class Installer:
    """Poetry package installer."""
    def __init__(
        self,
        io: Any,
        env: Env,
        package: Package,
        locker: Any,
        pool: Repository,
        config: Config,
        *,
        disable_cache: bool = False,
    ) -> None: ...
    def run(self) -> int: ...
    def dry_run(self, dry_run: bool = True) -> None: ...
    def verbose(self, verbose: bool = True) -> None: ...
    def update(self, update: bool = True) -> None: ...
    def dev_mode(self, dev_mode: bool = True) -> None: ...
    def remove_untracked(self) -> None: ...
    def requires_synchronization(self) -> bool: ...
    def whitelist(self, packages: Set[str]) -> None: ...
    def update_only(self, packages: Set[str]) -> None: ...
    def execute_operations(self) -> int: ...
    def get_installed(self) -> Dict[str, Package]: ...
