-module(caffeine_query_language@ast). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/caffeine_query_language/ast.gleam"). -export_type([operator/0, comparator/0, time_slice_exp/0, exp/0, primary/0, word/0]). -type operator() :: add | sub | mul | 'div'. -type comparator() :: less_than | less_than_or_equal_to | greater_than | greater_than_or_equal_to. -type time_slice_exp() :: {time_slice_exp, binary(), comparator(), float(), float()}. -type exp() :: {time_slice_expr, time_slice_exp()} | {operator_expr, exp(), exp(), operator()} | {primary, primary()}. -type primary() :: {primary_word, word()} | {primary_exp, exp()}. -type word() :: {word, binary()}.