def list_jobs(
        self,
        created_before: datetime.datetime | datetime.date | None = None,
        created_after: datetime.datetime | datetime.date | None = None,
        has_labels: dict[str, str] | None = None,
        execution_states: set[quantum.ExecutionStatus.State] | None = None,
    ) -> Sequence[abstract_job.AbstractJob]:
        """Returns the list of jobs for this program.

        Args:
            project_id: A project_id of the parent Google Cloud Project.
            program_id: Unique ID of the program within the parent project.
            created_after: retrieve jobs that were created after this date
                or time.
            created_before: retrieve jobs that were created after this date
                or time.
            has_labels: retrieve jobs that have labels on them specified by
                this dict. If the value is set to `*`, jobs having the label
                regardless of the label value will be returned. For example, to
                query programs that have the shape label and have the color
                label with value red can be queried using

                {'color': 'red', 'shape':'*'}

            execution_states: retrieve jobs that have an execution state  that
                is contained in `execution_states`. See
                `quantum.ExecutionStatus.State` enum for accepted values.

        Returns:
            A sequence of `AbstractJob` objects that satisfy the constraints.
        """
Returns the list of jobs for this program.

        Args:
            project_id: A project_id of the parent Google Cloud Project.
            program_id: Unique ID of the program within the parent project.
            created_after: retrieve jobs that were created after this date
                or time.
            created_before: retrieve jobs that were created after this date
                or time.
            has_labels: retrieve jobs that have labels on them specified by
                this dict. If the value is set to `*`, jobs having the label
                regardless of the label value will be returned. For example, to
                query programs that have the shape label and have the color
                label with value red can be queried using

                {'color': 'red', 'shape':'*'}

            execution_states: retrieve jobs that have an execution state  that
                is contained in `execution_states`. See
                `quantum.ExecutionStatus.State` enum for accepted values.

        Returns:
            A sequence of `AbstractJob` objects that satisfy the constraints.
        
cirq-google/cirq_google/engine/abstract_program.py