declare type StateType = string; import { JssmGenericState, JssmGenericConfig, JssmTransition, JssmTransitionList, // JssmTransitionRule, JssmMachineInternalState, JssmParseTree, JssmStateDeclaration, JssmArrow, JssmArrowDirection, JssmArrowKind, JssmLayout, FslDirection, FslTheme } from './jssm_types'; import { seq, weighted_rand_select, weighted_sample_select, histograph, weighted_histo_key } from './jssm_util'; import { version } from './version'; declare function arrow_direction(arrow: JssmArrow): JssmArrowDirection; declare function arrow_left_kind(arrow: JssmArrow): JssmArrowKind; declare function arrow_right_kind(arrow: JssmArrow): JssmArrowKind; declare function wrap_parse(input: string, options?: Object): any; declare function compile(tree: JssmParseTree): JssmGenericConfig; declare function make(plan: string): JssmGenericConfig; declare function transfer_state_properties(state_decl: JssmStateDeclaration): JssmStateDeclaration; declare class Machine { _state: StateType; _states: Map; _edges: Array>; _edge_map: Map>; _named_transitions: Map; _actions: Map>; _reverse_actions: Map>; _reverse_action_targets: Map>; _machine_author?: Array; _machine_comment?: string; _machine_contributor?: Array; _machine_definition?: string; _machine_language?: string; _machine_license?: string; _machine_name?: string; _machine_version?: string; _fsl_version?: string; _raw_state_declaration?: Array; _state_declarations: Map; _graph_layout: JssmLayout; _dot_preamble: string; _arrange_declaration: Array>; _arrange_start_declaration: Array>; _arrange_end_declaration: Array>; _theme: FslTheme; _flow: FslDirection; constructor({ start_states, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, theme, flow, graph_layout }: JssmGenericConfig); _new_state(state_config: JssmGenericState): StateType; state(): StateType; state_is_final(whichState: StateType): boolean; is_final(): boolean; graph_layout(): string; dot_preamble(): string; machine_author(): Array; machine_comment(): string; machine_contributor(): Array; machine_definition(): string; machine_language(): string; machine_license(): string; machine_name(): string; machine_version(): string; raw_state_declarations(): Array; state_declaration(which: StateType): JssmStateDeclaration; state_declarations(): Map; fsl_version(): string; machine_state(): JssmMachineInternalState; states(): Array; state_for(whichState: StateType): JssmGenericState; has_state(whichState: StateType): boolean; list_edges(): Array>; list_named_transitions(): Map; list_actions(): Array; theme(): FslTheme; flow(): FslDirection; get_transition_by_state_names(from: StateType, to: StateType): number; lookup_transition_for(from: StateType, to: StateType): JssmTransition; list_transitions(whichState?: StateType): JssmTransitionList; list_entrances(whichState?: StateType): Array; list_exits(whichState?: StateType): Array; probable_exits_for(whichState: StateType): Array>; probabilistic_transition(): boolean; probabilistic_walk(n: number): Array; probabilistic_histo_walk(n: number): Map; actions(whichState?: StateType): Array; list_states_having_action(whichState: StateType): Array; list_exit_actions(whichState?: StateType): Array; probable_action_exits(whichState?: StateType): Array; is_unenterable(whichState: StateType): boolean; has_unenterables(): boolean; is_terminal(): boolean; state_is_terminal(whichState: StateType): boolean; has_terminals(): boolean; is_complete(): boolean; state_is_complete(whichState: StateType): boolean; has_completes(): boolean; action(name: StateType, newData?: mDT): boolean; transition(newState: StateType, newData?: mDT): boolean; force_transition(newState: StateType, newData?: mDT): boolean; current_action_for(action: StateType): number; current_action_edge_for(action: StateType): JssmTransition; valid_action(action: StateType, _newData?: mDT): boolean; valid_transition(newState: StateType, _newData?: mDT): boolean; valid_force_transition(newState: StateType, _newData?: mDT): boolean; sm(template_strings: TemplateStringsArray, ...remainder: any[]): Machine; } declare function sm(template_strings: TemplateStringsArray, ...remainder: any[]): Machine; export { version, transfer_state_properties, Machine, make, wrap_parse as parse, compile, sm, arrow_direction, arrow_left_kind, arrow_right_kind, seq, weighted_rand_select, histograph, weighted_sample_select, weighted_histo_key };