from typing import Any, Dict, List, Optional, Set

from django.core.management.base import BaseCommand, CommandParser
from django.db.migrations.loader import MigrationLoader
from django.db.migrations.migration import Migration


class Command(BaseCommand):
    stderr: django.core.management.base.OutputWrapper
    stdout: django.core.management.base.OutputWrapper
    style: django.core.management.color.Style
    help: str = ...
    def add_arguments(self, parser: CommandParser) -> None: ...
    verbosity: int = ...
    interactive: bool = ...
    dry_run: bool = ...
    merge: bool = ...
    empty: bool = ...
    migration_name: None = ...
    def handle(self, *app_labels: Any, **options: Any): ...
    def write_migration_files(
        self, changes: Dict[str, List[Migration]]
    ) -> None: ...
    def handle_merge(
        self, loader: MigrationLoader, conflicts: Dict[str, Set[str]]
    ) -> None: ...
