class_docstr: Protocol that all Timetable classes are expected to implement.
class_docstr_tok: ["Protocol","that","all","Timetable","classes","are","expected","to","implement","."]
docstr: Provide information to schedule the next DagRun.
  
  The default implementation raises ``NotImplementedError``.
  
  :param last_automated_data_interval: The data interval of the associated
      DAG's last scheduled or backfilled run (manual runs not considered).
  :param restriction: Restriction to apply when scheduling the DAG run.
      See documentation of :class:`TimeRestriction` for details.
  
  :return: Information on when the next DagRun can be scheduled. None
      means a DagRun will not happen. This does not mean no more runs
      will be scheduled even again for this DAG; the timetable can return
      a DagRunInfo object when asked at another time.
docstr_tok: ["Provide","information","to","schedule","the","next","DagRun",".","The","default","implementation","raises","``","NotImplementedError","``",".",":","param","last_automated_data_interval",":","The","data","interval","of","the","associated","DAG","'s","last","scheduled","or","backfilled","run","(","manual","runs","not","considered",")",".",":","param","restriction",":","Restriction","to","apply","when","scheduling","the","DAG","run",".","See","documentation","of",":","class",":","`","TimeRestriction","`","for","details",".",":","return",":","Information","on","when","the","next","DagRun","can","be","scheduled",".","None","means","a","DagRun","will","not","happen",".","This","does","not","mean","no","more","runs","will","be","scheduled","even","again","for","this","DAG",";","the","timetable","can","return","a","DagRunInfo","object","when","asked","at","another","time","."]
code: def next_dagrun_info(
      self,
      *,
      last_automated_data_interval: DataInterval | None,
      restriction: TimeRestriction,
  ) -> DagRunInfo | None:
      """Provide information to schedule the next DagRun.
  
      The default implementation raises ``NotImplementedError``.
  
      :param last_automated_data_interval: The data interval of the associated
          DAG's last scheduled or backfilled run (manual runs not considered).
      :param restriction: Restriction to apply when scheduling the DAG run.
          See documentation of :class:`TimeRestriction` for details.
  
      :return: Information on when the next DagRun can be scheduled. None
          means a DagRun will not happen. This does not mean no more runs
          will be scheduled even again for this DAG; the timetable can return
          a DagRunInfo object when asked at another time.
      """
      raise NotImplementedError()
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any, NamedTuple, Sequence
  from warnings import warn
  from airflow.typing_compat import Protocol, runtime_checkable
label_desc: Use image node_id 7 for calling the Timetable obj's underlying member method code with example usage: obj.next_dagrun_info() without return types