interface StateMachineInterface { reset(operand: OperandT): StateMachineInterface.Result; } declare namespace StateMachineInterface { const enum CycleType { read = 0, write = 1 } interface Step { (value: number): Result | null; } interface Result { readonly cycleType: CycleType; readonly address: number; value: number; pollInterrupts: boolean; nextStep: Step; } } export default StateMachineInterface;