import numpy as np
from pandas.core.frame import DataFrame as DataFrame
from pandas.core.series import Series as Series
from typing import Any, Optional

class _Unstacker:
    values: Any = ...
    value_columns: Any = ...
    fill_value: Any = ...
    constructor: Any = ...
    index: Any = ...
    level: Any = ...
    lift: Any = ...
    new_index_levels: Any = ...
    new_index_names: Any = ...
    removed_name: Any = ...
    removed_level: Any = ...
    removed_level_full: Any = ...
    def __init__(self, values: np.ndarray, index: Any, level: Any = ..., value_columns: Any = ..., fill_value: Any = ..., constructor: Any = ...) -> None: ...
    def get_result(self) -> Any: ...
    def get_new_values(self) -> Any: ...
    def get_new_columns(self) -> Any: ...
    def get_new_index(self) -> Any: ...

def unstack(obj: Any, level: Any, fill_value: Optional[Any] = ...) -> Any: ...
def stack(frame: Any, level: int = ..., dropna: bool = ...) -> Any: ...
def stack_multiple(frame: Any, level: Any, dropna: bool = ...) -> Any: ...
def get_dummies(data: Any, prefix: Any = ..., prefix_sep: Any = ..., dummy_na: Any = ..., columns: Any = ..., sparse: Any = ..., drop_first: Any = ..., dtype: Any = ...) -> DataFrame: ...
