module arch.node.engines.local_time_series_storage;

import prelude open;
import arch.node.types.engine open;

import arch.node.engines.local_time_series_storage_messages open public;
import arch.node.engines.local_time_series_storage_config open public;
import arch.node.engines.local_time_series_storage_environment open public;
import arch.node.engines.local_time_series_storage_behaviour open public;

import arch.node.types.anoma as Anoma open;

open local_ts_storage_config_example;
open local_ts_storage_environment_example;

LocalTSStorageEngine : Type :=
  Engine
    LocalTSStorageCfg
    LocalTSStorageLocalState
    LocalTSStorageMailboxState
    LocalTSStorageTimerHandle
    LocalTSStorageActionArguments
    Anoma.Msg
    Anoma.Cfg
    Anoma.Env;

exampleLocalTSStorageEngine : LocalTSStorageEngine :=
  mkEngine@{
    cfg := localTSStorageCfg;
    env := localTSStorageEnv;
    behaviour := localTSStorageBehaviour;
  };