import { CommunicationActionTypes, EvaluationError } from '../comms/types'; export declare const DEFINE_VARIABLE = "DEFINE_VARIABLE"; export declare const REMOVE_VARIABLE = "REMOVE_VARIABLE"; export declare enum PropTypes { number = "Number", string = "String", boolean = "Boolean", array = "Array", object = "Object" } export declare type VariableTypes = string | number | boolean | object | null; export interface DefineVariable { id: string; type: PropTypes; scope: string; name: string; description: string; format: string; value: VariableTypes; func: string; } export interface CurrentValue { derived: boolean; current: VariableTypes; error?: EvaluationError; } export declare type Variable = DefineVariable & CurrentValue; export declare type VariablesState = { [index: string]: Variable; }; export interface CreateVariable { type: typeof DEFINE_VARIABLE; payload: DefineVariable; } export interface RemoveVariable { type: typeof REMOVE_VARIABLE; payload: { id: string; }; } export declare type VariablesActionTypes = CreateVariable | RemoveVariable | CommunicationActionTypes; export declare type CreateVariableOptions = { description: string; type: PropTypes; format: string; }; export interface UpdateVariableOptions extends CreateVariableOptions { scope: string; name: string; }