-module(json_canvas@types). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export_type([node_id/0, group_background_style/0, node_/0, edge_id/0, side/0, endpoint_shape/0, edge/0, canvas/0]). -type node_id() :: {node_id, binary()}. -type group_background_style() :: cover | ratio | repeat. -type node_() :: {text_node, node_id(), integer(), integer(), integer(), integer(), gleam@option:option(binary()), binary()} | {file_node, node_id(), integer(), integer(), integer(), integer(), gleam@option:option(binary()), binary(), gleam@option:option(binary())} | {link_node, node_id(), integer(), integer(), integer(), integer(), gleam@option:option(binary()), binary()} | {group_node, node_id(), integer(), integer(), integer(), integer(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(group_background_style())}. -type edge_id() :: {edge_id, binary()}. -type side() :: top | right | bottom | left. -type endpoint_shape() :: with_arrow | without_arrow. -type edge() :: {edge, edge_id(), node_id(), gleam@option:option(side()), endpoint_shape(), node_id(), gleam@option:option(side()), endpoint_shape(), gleam@option:option(binary()), gleam@option:option(binary())}. -type canvas() :: {canvas, list(node_()), list(edge())}.