# Stubs for networkx.algorithms.centrality.flow_matrix (Python 3.5)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any, Optional

def flow_matrix_row(G, weight: Optional[Any] = ..., dtype: Any = ..., solver: str = ...): ...

class InverseLaplacian:
    dtype: Any = ...
    n: Any = ...
    w: Any = ...
    C: Any = ...
    L1: Any = ...
    def __init__(self, L, width: Optional[Any] = ..., dtype: Optional[Any] = ...) -> None: ...
    def init_solver(self, L): ...
    def solve(self, r): ...
    def solve_inverse(self, r): ...
    def get_rows(self, r1, r2): ...
    def get_row(self, r): ...
    def width(self, L): ...

class FullInverseLaplacian(InverseLaplacian):
    IL: Any = ...
    def init_solver(self, L): ...
    def solve(self, rhs): ...
    def solve_inverse(self, r): ...

class SuperLUInverseLaplacian(InverseLaplacian):
    lusolve: Any = ...
    def init_solver(self, L): ...
    def solve_inverse(self, r): ...
    def solve(self, rhs): ...

class CGInverseLaplacian(InverseLaplacian):
    M: Any = ...
    def init_solver(self, L): ...
    def solve(self, rhs): ...
    def solve_inverse(self, r): ...

def laplacian_sparse_matrix(
    G,
    nodelist: Optional[Any] = ...,
    weight: Optional[Any] = ...,
    dtype: Optional[Any] = ...,
    format: str = ...,
): ...
