-record(dot_options, { node_label :: fun((integer(), any()) -> binary()), edge_label :: fun((any()) -> binary()), highlighted_nodes :: gleam@option:option(list(integer())), highlighted_edges :: gleam@option:option(list({integer(), integer()})), node_attributes :: fun((integer(), any()) -> list({binary(), binary()})), edge_attributes :: fun((integer(), integer(), any()) -> list({binary(), binary()})), subgraphs :: gleam@option:option(list(yog@render@dot:subgraph())), graph_name :: binary(), layout :: gleam@option:option(yog@render@dot:layout()), rankdir :: gleam@option:option(yog@render@dot:rank_dir()), bgcolor :: gleam@option:option(binary()), splines :: gleam@option:option(yog@render@dot:splines()), overlap :: gleam@option:option(yog@render@dot:overlap()), nodesep :: gleam@option:option(float()), ranksep :: gleam@option:option(float()), node_shape :: yog@render@dot:node_shape(), node_color :: binary(), node_style :: yog@render@dot:style(), node_fontname :: binary(), node_fontsize :: integer(), node_fontcolor :: binary(), edge_color :: binary(), edge_style :: yog@render@dot:style(), edge_fontname :: binary(), edge_fontsize :: integer(), edge_penwidth :: float(), arrowhead :: gleam@option:option(yog@render@dot:arrow_style()), arrowtail :: gleam@option:option(yog@render@dot:arrow_style()), highlight_color :: binary(), highlight_penwidth :: float() }).