def __init__(
        self,
        pauli0: pauli_gates.Pauli,
        invert0: bool,
        pauli1: pauli_gates.Pauli,
        invert1: bool,
        *,
        exponent: value.TParamVal = 1.0,
    ) -> None:
        """Inits PauliInteractionGate.

        Args:
            pauli0: The interaction axis for the first qubit.
            invert0: Whether to condition on the +1 or -1 eigenvector of the
                first qubit's interaction axis.
            pauli1: The interaction axis for the second qubit.
            invert1: Whether to condition on the +1 or -1 eigenvector of the
                second qubit's interaction axis.
            exponent: Determines the amount of phasing to apply to the vector
                equal to the tensor product of the two conditions.
        """
        super().__init__(exponent=exponent)
        self._pauli0 = pauli0
        self._invert0 = invert0
        self._pauli1 = pauli1
        self._invert1 = invert1
Inits PauliInteractionGate.

        Args:
            pauli0: The interaction axis for the first qubit.
            invert0: Whether to condition on the +1 or -1 eigenvector of the
                first qubit's interaction axis.
            pauli1: The interaction axis for the second qubit.
            invert1: Whether to condition on the +1 or -1 eigenvector of the
                second qubit's interaction axis.
            exponent: Determines the amount of phasing to apply to the vector
                equal to the tensor product of the two conditions.
        
cirq-core/cirq/ops/pauli_interaction_gate.py