# Functions
NewTimer creates a new Timer with the given options.
NewTreeTimer creates a new Timer with the given options.
WithBudget is an Option that sets the budget value.
WithComponents is an Option that adds multiple components to the components list.
WithInheritedBudget is an Option that sets the DynamicBudget flag on config.budget.
WithInheritedSumBudget is an Option that sets the DynamicBudget flag on config.budget and sets the DynamicBudgetFunc to sum the remaining time of all children.
WithUnlimitedBudget is an Option that sets the UnlimitedBudget flag on config.budget.
# Constants
DynamicBudget is a special value for the budget that means the timer should inherit the budget from its parent It is the default value if no options such as WithBudget, WithUnlimitedBudget or WithInheritedBudget are provided.
UnlimitedBudget is a special value for the budget that means the timer has no budget.
# Type aliases
DynamicBudgetFunc is a function that is called on all children when a change to the parent happens.
Option are the configuration options for any type of timer.