"""
This type stub file was generated by pyright.
"""

from typing import TYPE_CHECKING
from .core import LpSolver, LpSolver_CMD

"""
This type stub file was generated by pyright.
"""
if TYPE_CHECKING:
    ...
gp = ...
class GUROBI(LpSolver):
    """
    The Gurobi LP/MIP solver (via its python interface)

    The Gurobi variables are available (after a solve) in var.solverVar
    Constraints in constraint.solverConstraint
    and the Model is in prob.solverModel
    """
    name = ...
    env = ...


class GUROBI_CMD(LpSolver_CMD):
    """The GUROBI_CMD solver"""
    name = ...
    def __init__(self, mip=..., msg=..., timeLimit=..., gapRel=..., gapAbs=..., options=..., warmStart=..., keepFiles=..., path=..., threads=..., logPath=..., mip_start=...) -> None:
        """
        :param bool mip: if False, assume LP even if integer variables
        :param bool msg: if False, no log is shown
        :param float timeLimit: maximum time for solver (in seconds)
        :param float gapRel: relative gap tolerance for the solver to stop (in fraction)
        :param float gapAbs: absolute gap tolerance for the solver to stop
        :param int threads: sets the maximum number of threads
        :param list options: list of additional options to pass to solver
        :param bool warmStart: if True, the solver will use the current value of variables as a start
        :param bool keepFiles: if True, files are saved in the current directory and not deleted after solving
        :param str path: path to the solver binary
        :param str logPath: path to the log file
        """
        ...
    
    def defaultPath(self):
        ...
    
    def available(self):
        """True if the solver is available"""
        ...
    
    def actualSolve(self, lp):
        """Solve a well formulated lp problem"""
        ...
    
    def readsol(self, filename):
        """Read a Gurobi solution file"""
        ...
    
    def writesol(self, filename, vs):
        """Writes a GUROBI solution file"""
        ...
    
    def getOptions(self):
        ...
    


