from enum import Enum
from typing import Any

from sympy.combinatorics.perm_groups import PermutationGroup

class S1TransitiveSubgroups(Enum):
    S1 = ...
    def get_perm_group(self) -> PermutationGroup: ...

class S2TransitiveSubgroups(Enum):
    S2 = ...
    def get_perm_group(self) -> PermutationGroup: ...

class S3TransitiveSubgroups(Enum):
    A3 = ...
    S3 = ...
    def get_perm_group(self) -> PermutationGroup | None: ...

class S4TransitiveSubgroups(Enum):
    C4 = ...
    V = ...
    D4 = ...
    A4 = ...
    S4 = ...
    def get_perm_group(self) -> PermutationGroup | None: ...

class S5TransitiveSubgroups(Enum):
    C5 = ...
    D5 = ...
    M20 = ...
    A5 = ...
    S5 = ...
    def get_perm_group(self) -> PermutationGroup | None: ...

class S6TransitiveSubgroups(Enum):
    C6 = ...
    S3 = ...
    D6 = ...
    A4 = ...
    G18 = ...
    A4xC2 = ...
    S4m = ...
    S4p = ...
    G36m = ...
    G36p = ...
    S4xC2 = ...
    PSL2F5 = ...
    G72 = ...
    PGL2F5 = ...
    A6 = ...
    S6 = ...
    def get_perm_group(self) -> PermutationGroup | None: ...

def four_group() -> PermutationGroup: ...
def M20() -> PermutationGroup: ...
def S3_in_S6() -> PermutationGroup: ...
def A4_in_S6() -> PermutationGroup: ...
def S4m() -> PermutationGroup: ...
def S4p() -> PermutationGroup: ...
def A4xC2() -> PermutationGroup: ...
def S4xC2() -> PermutationGroup: ...
def G18() -> PermutationGroup: ...
def G36m() -> PermutationGroup: ...
def G36p() -> PermutationGroup: ...
def G72() -> PermutationGroup: ...
def PSL2F5() -> PermutationGroup: ...
def PGL2F5() -> PermutationGroup: ...
def find_transitive_subgroups_of_S6(*targets, print_report=...) -> dict[Any, Any]: ...
