-type flow() ::
#flow{id :: binary(),
module :: module(),
module_vsn :: undefined | module_vsn(),
stream_filter :: undefined | string(),
stream_names :: undefined | stream_names(),
mapper_window :: undefined | pos_integer(),
mapper_nodes :: undefined | [node()],
mapper_opts :: mapper_opts(),
reducer_window :: undefined | pos_integer(),
reducer_node :: node(),
reducer_opts :: reducer_opts(),
reducer_skip :: undefined | boolean(),
output_opts :: output_opts(),
heartbeat :: undefined | pos_integer(),
window_sync :: undefined | boolean(),
started_at :: undefined | erlang:timestamp(),
start_node :: node()}.