import { FLOW_ACTION, IFlow } from '../';
import { Item } from '../engine/Item';
import { Node, Element } from '.';
declare class Flow extends Element implements IFlow {
from: Node;
to: Node;
def: any;
isMessageFlow: boolean;
constructor(id: any, type: any, from: any, to: any, def: any);
describe(): any[][];
/**
* ```xml
* if flow has a condition, it must be evaluated and if result is true flow will continue
* otherwise, flow will be discarded.
*
* ```
* @param item
*/
run(item: Item): Promise;
end(item: any): Promise;
evaluateCondition(item: any): Promise;
execute(item: any): Promise;
}
/**
* ```xml
* MessageFlow: can only be sent to active node in waiting
* or to a start event
*
* ```
* */
declare class MessageFlow extends Flow {
isMessageFlow: boolean;
execute(item: Item): Promise;
}
export { Flow, MessageFlow };