@netgrif/petriflow
Version:
Javascript / Typescript library of Petriflow objects
1,159 lines (1,079 loc) • 39.3 kB
TypeScript
declare abstract class Element$1 {
private _id;
protected constructor(id: string);
get id(): string;
set id(value: string);
compare(other: Element$1): number;
}
declare class I18nString {
private _name?;
private _value;
constructor(translation: string, name?: string);
get name(): string | undefined;
set name(value: string | undefined);
get value(): string;
set value(value: string);
clone(): I18nString;
isEmpty(): boolean;
}
declare abstract class NodeElement extends Element$1 {
private _x;
private _y;
private _label;
protected constructor(id: string, x: number, y: number, label: I18nString);
get x(): number;
set x(value: number);
get y(): number;
set y(value: number);
get label(): I18nString;
set label(value: I18nString);
}
declare enum ArcType {
REGULAR_PT = "regular_pt",
REGULAR_TP = "regular_tp",
READ = "read",
RESET = "reset",
INHIBITOR = "inhibitor"
}
declare enum XmlArcType {
REGULAR = "regular",
READ = "read",
RESET = "reset",
INHIBITOR = "inhibitor"
}
declare class Breakpoint {
private _x;
private _y;
constructor(x: number, y: number);
get x(): number;
set x(value: number);
get y(): number;
set y(value: number);
clone(): Breakpoint;
}
declare abstract class Arc<S extends NodeElement, D extends NodeElement> extends Element$1 {
private _source;
private _destination;
private _multiplicity;
private _reference?;
private _breakpoints;
constructor(source: S, target: D, id: string);
static arcTypeMapping: Map<ArcType, XmlArcType>;
abstract get type(): ArcType;
get source(): S;
set source(value: S);
get destination(): D;
set destination(value: D);
get multiplicity(): number;
set multiplicity(value: number);
get reference(): string | undefined;
set reference(value: string | undefined);
get breakpoints(): Array<Breakpoint>;
set breakpoints(value: Array<Breakpoint>);
cloneAttributes(cloned: Arc<S, D>): void;
abstract clone(): Arc<S, D>;
}
declare class I18nWithDynamic extends I18nString {
private _dynamic;
constructor(value: string, name?: string, dynamic?: boolean);
get dynamic(): boolean;
set dynamic(value: boolean);
clone(): I18nWithDynamic;
}
declare enum IconType {
MATERIAL = "material",
SVG = "svg"
}
declare class Icon {
private _key;
private _icon;
private _type;
constructor(key: string, icon: string, type?: IconType);
get key(): string;
set key(value: string);
get icon(): string;
set icon(value: string);
get type(): IconType;
set type(value: IconType);
clone(): Icon;
}
declare class Property {
private _key;
private _value;
constructor(key: string, value: string);
get key(): string;
set key(value: string);
get value(): string;
set value(value: string);
clone(): Property;
}
declare class Component {
private _name;
private _properties;
private _icons;
constructor(name: string);
get name(): string;
set name(value: string);
get properties(): Array<Property>;
set properties(value: Array<Property>);
get icons(): Array<Icon>;
set icons(value: Array<Icon>);
clone(): Component;
}
declare class Action extends Element$1 {
private _definition;
constructor(id: string, definition: string);
get definition(): string;
set definition(value: string);
clone(): Action;
}
declare enum EventPhase {
PRE = "pre",
POST = "post"
}
declare abstract class Event<T> extends Element$1 {
private _type;
private readonly _preActions;
private readonly _postActions;
private _message;
protected constructor(type: T, id: string);
get type(): T;
set type(value: T);
get preActions(): Array<Action>;
get postActions(): Array<Action>;
get message(): I18nString;
set message(value: I18nString);
addAction(action: Action, phase: EventPhase): void;
isEmpty(): boolean;
}
declare abstract class EventSource<T extends Event<S>, S> {
private readonly _events;
protected constructor();
protected get events(): Map<S, T>;
getEvents(): Array<T>;
getEvent(type: S): T | undefined;
addEvent(event: T): void;
removeEvent(type: S): void;
mergeEvent(event: T): void;
}
declare enum DataEventType {
SET = "set",
GET = "get"
}
declare class DataEvent extends Event<DataEventType> {
constructor(type: DataEventType, id: string);
clone(): DataEvent;
}
declare abstract class DataEventSource extends EventSource<DataEvent, DataEventType> {
addAction(action: Action, type: DataEventType, phase?: EventPhase): void;
}
declare enum DataType {
NUMBER = "number",
TEXT = "text",
ENUMERATION = "enumeration",
ENUMERATION_MAP = "enumeration_map",
MULTICHOICE = "multichoice",// cspell:disable-line
MULTICHOICE_MAP = "multichoice_map",// cspell:disable-line
BOOLEAN = "boolean",
DATE = "date",
DATETIME = "dateTime",// cspell:disable-line
FILE = "file",
FILE_LIST = "fileList",
USER = "user",
USER_LIST = "userList",
BUTTON = "button",
TASK_REF = "taskRef",
CASE_REF = "caseRef",
FILTER = "filter",
I18N = "i18n"
}
declare class Expression {
private _dynamic;
private _expression;
constructor(expression: string, dynamic?: boolean);
get dynamic(): boolean;
set dynamic(value: boolean);
get expression(): string;
set expression(value: string);
clone(): Expression;
}
declare class Option {
private _key;
private _value;
constructor(key?: string, value?: I18nString);
get key(): string;
set key(value: string);
get value(): I18nString;
set value(value: I18nString);
static of(key: string, value: I18nString): Option;
clone(): Option;
}
declare class Validation {
private _expression?;
private _message;
constructor();
get expression(): Expression | undefined;
set expression(value: Expression | undefined);
get message(): I18nString;
set message(value: I18nString);
clone(): Validation;
}
declare class DataVariable extends DataEventSource {
private _id;
private _title;
private _placeholder;
private _desc;
private _options;
private _optionsInit?;
private _validations;
private _init?;
private _inits;
private _component?;
private _type;
private _immediate;
private _encryption?;
private _remote?;
private _actionRef;
private _length?;
private _allowedNets;
constructor(id: string, type: DataType);
get id(): string;
set id(value: string);
get title(): I18nString;
set title(value: I18nString);
get placeholder(): I18nString;
set placeholder(value: I18nString);
get desc(): I18nString;
set desc(value: I18nString);
get options(): Array<Option>;
set options(value: Array<Option>);
get optionsInit(): Expression | undefined;
set optionsInit(value: Expression | undefined);
get validations(): Array<Validation>;
set validations(value: Array<Validation>);
get init(): I18nWithDynamic | undefined;
set init(value: I18nWithDynamic | undefined);
get inits(): Array<I18nWithDynamic>;
set inits(value: Array<I18nWithDynamic>);
get component(): Component | undefined;
set component(value: Component | undefined);
get type(): DataType;
set type(value: DataType);
get immediate(): boolean;
set immediate(value: boolean);
get encryption(): string | undefined;
set encryption(value: string | undefined);
get remote(): boolean | undefined;
set remote(value: boolean | undefined);
get actionRef(): Array<string>;
set actionRef(value: Array<string>);
get length(): number | undefined;
set length(value: number | undefined);
get allowedNets(): Array<string>;
set allowedNets(value: Array<string>);
clone(): DataVariable;
compare(other: DataVariable): number;
}
declare class I18nTranslations {
private _locale;
private _i18ns;
constructor(locale: string);
get locale(): string;
set locale(value: string);
getI18ns(): Array<I18nString>;
getI18n(name: string): I18nString | undefined;
addI18n(value: I18nString): void;
removeI18n(name: string): void;
clone(): I18nTranslations;
}
declare enum CaseEventType {
CREATE = "create",
DELETE = "delete"
}
declare class CaseEvent extends Event<CaseEventType> {
constructor(type: CaseEventType, id: string);
clone(): CaseEvent;
}
declare enum Appearance {
LEGACY = "legacy",
STANDARD = "standard",
FILL = "fill",
OUTLINE = "outline"
}
declare enum Alignment {
TOP = "top",
CENTER = "center",
BOTTOM = "bottom"
}
declare abstract class Layout {
private _rows?;
private _cols?;
private _offset?;
private _alignment?;
get rows(): number | undefined;
set rows(value: number | undefined);
get cols(): number | undefined;
set cols(value: number | undefined);
get offset(): number | undefined;
set offset(value: number | undefined);
get alignment(): Alignment | undefined;
set alignment(value: Alignment | undefined);
}
declare enum Template {
MATERIAL = "material",
NETGRIF = "netgrif"
}
declare class DataLayout extends Layout {
private _x;
private _y;
private _template;
private _appearance;
constructor(x?: number, y?: number, template?: Template, appearance?: Appearance);
get x(): number;
set x(value: number);
get y(): number;
set y(value: number);
get template(): Template;
set template(value: Template);
get appearance(): Appearance;
set appearance(value: Appearance);
clone(): DataLayout;
}
declare enum DataRefBehavior {
REQUIRED = "required",
IMMEDIATE = "immediate",
OPTIONAL = "optional",
VISIBLE = "visible",
EDITABLE = "editable",
HIDDEN = "hidden",
FORBIDDEN = "forbidden"
}
declare class DataRefLogic {
private _behavior;
private _required;
private _immediate;
private _actionRefs;
constructor();
get behavior(): DataRefBehavior;
set behavior(value: DataRefBehavior);
get required(): boolean;
set required(value: boolean);
get immediate(): boolean;
set immediate(value: boolean);
get actionRefs(): Array<string>;
set actionRefs(value: Array<string>);
clone(): DataRefLogic;
}
declare class DataRef extends DataEventSource {
private _id;
private _logic;
private _layout;
private _component?;
constructor(id: string);
get id(): string;
set id(value: string);
get logic(): DataRefLogic;
set logic(value: DataRefLogic);
get layout(): DataLayout;
set layout(value: DataLayout);
get component(): Component | undefined;
set component(value: Component | undefined);
clone(): DataRef;
}
declare enum CompactDirection {
UP = "up",
NONE = "none"
}
declare enum HideEmptyRows {
ALL = "all",
COMPACTED = "compacted",
NONE = "none"
}
declare enum LayoutType {
FLOW = "flow",
GRID = "grid",
LEGACY = "legacy"
}
declare class DataGroup {
private _id;
private _cols?;
private _rows?;
private _title?;
private _layout?;
private _alignment?;
private _stretch;
private _hideEmptyRows?;
private _compactDirection?;
private _dataRefs;
constructor(id: string);
get id(): string;
set id(value: string);
get cols(): number | undefined;
set cols(value: number | undefined);
get rows(): number | undefined;
set rows(value: number | undefined);
get title(): I18nString | undefined;
set title(value: I18nString | undefined);
get layout(): LayoutType | undefined;
set layout(value: LayoutType | undefined);
get alignment(): Alignment | undefined;
set alignment(value: Alignment | undefined);
get stretch(): boolean;
set stretch(value: boolean);
get hideEmptyRows(): HideEmptyRows | undefined;
set hideEmptyRows(value: HideEmptyRows | undefined);
get compactDirection(): CompactDirection | undefined;
set compactDirection(value: CompactDirection | undefined);
getDataRefs(): Array<DataRef>;
getDataRef(id: string): DataRef | undefined;
addDataRef(ref: DataRef): void;
removeDataRef(id: string): void;
clone(): DataGroup;
}
declare abstract class PermissionRef<T> {
private _id;
private _logic;
protected constructor(id: string, logic: T);
get id(): string;
set id(value: string);
get logic(): T;
set logic(value: T);
compare(ref: PermissionRef<T>): number;
}
declare class Logic {
private _perform?;
private _delegate?;
private _cancel?;
private _assign?;
private _view?;
get perform(): boolean | undefined;
set perform(value: boolean | undefined);
get delegate(): boolean | undefined;
set delegate(value: boolean | undefined);
get cancel(): boolean | undefined;
set cancel(value: boolean | undefined);
get assign(): boolean | undefined;
set assign(value: boolean | undefined);
get view(): boolean | undefined;
set view(value: boolean | undefined);
clone(): Logic;
}
declare class TransitionPermissionRef extends PermissionRef<Logic> {
constructor(id: string);
clone(): TransitionPermissionRef;
}
declare enum TriggerType {
AUTO = "auto",
USER = "user",
TIME = "time"
}
declare class Trigger {
private _type;
private _delay?;
private _exact?;
constructor(type?: TriggerType);
get type(): TriggerType;
set type(value: TriggerType);
get delay(): string | undefined;
set delay(value: string | undefined);
get exact(): Date | undefined;
set exact(value: Date | undefined);
clone(): Trigger;
}
declare class Mapping extends Element$1 {
private _transitionRef;
private _roleRef;
private _dataRef;
private _dataGroup;
private _trigger;
constructor(id: string, transRef: string);
get transitionRef(): string;
set transitionRef(value: string);
get roleRef(): Array<TransitionPermissionRef>;
set roleRef(value: Array<TransitionPermissionRef>);
get dataRef(): Array<DataRef>;
set dataRef(value: Array<DataRef>);
get dataGroup(): Array<DataGroup>;
set dataGroup(value: Array<DataGroup>);
get trigger(): Array<Trigger>;
set trigger(value: Array<Trigger>);
clone(): Mapping;
}
declare enum FunctionScope {
NAMESPACE = "namespace",
PROCESS = "process"
}
declare class PetriflowFunction {
private _name;
private _scope;
private _definition;
constructor(name: string, scope: FunctionScope, definition?: string);
get name(): string;
set name(value: string);
get scope(): FunctionScope;
set scope(value: FunctionScope);
get definition(): string;
set definition(value: string);
clone(): PetriflowFunction;
compare(other: PetriflowFunction): number;
}
declare class Place extends NodeElement {
private _static;
private _marking;
constructor(x: number, y: number, isStatic: boolean, id: string);
get static(): boolean;
set static(value: boolean);
get marking(): number;
set marking(value: number);
clone(): Place;
}
declare enum ProcessEventType {
UPLOAD = "upload"
}
declare class ProcessEvent extends Event<ProcessEventType> {
constructor(type: ProcessEventType, id: string);
clone(): ProcessEvent;
}
declare class CaseLogic {
private _create?;
private _delete?;
private _view?;
get create(): boolean | undefined;
set create(value: boolean | undefined);
get delete(): boolean | undefined;
set delete(value: boolean | undefined);
get view(): boolean | undefined;
set view(value: boolean | undefined);
clone(): CaseLogic;
}
declare class ProcessPermissionRef extends PermissionRef<CaseLogic> {
constructor(id: string);
clone(): ProcessPermissionRef;
}
declare class Transaction extends Element$1 {
private _title;
constructor(id: string, title: I18nString);
get title(): I18nString;
set title(value: I18nString);
clone(): Transaction;
}
declare enum RoleEventType {
ASSIGN = "assign",
CANCEL = "cancel"
}
declare class RoleEvent extends Event<RoleEventType> {
private _title;
constructor(type: RoleEventType, id: string);
get title(): I18nString;
set title(value: I18nString);
clone(): RoleEvent;
isEmpty(): boolean;
}
declare class Role extends EventSource<RoleEvent, RoleEventType> {
static readonly ANONYMOUS = "anonymous";
static readonly DEFAULT = "default";
private _id;
private _title;
private _global;
constructor(id: string);
get id(): string;
set id(value: string);
get title(): I18nString;
set title(value: I18nString);
get global(): boolean;
set global(value: boolean);
clone(): Role;
compare(other: Role): number;
}
declare enum AssignPolicy {
MANUAL = "manual",
AUTO = "auto"
}
declare class AssignedUser {
private _cancel?;
private _reassign?;
get cancel(): boolean | undefined;
set cancel(value: boolean | undefined);
get reassign(): boolean | undefined;
set reassign(value: boolean | undefined);
clone(): AssignedUser;
}
declare enum DataFocusPolicy {
MANUAL = "manual",
AUTO_EMPTY_REQUIRED = "auto_empty_required"
}
declare enum FinishPolicy {
MANUAL = "manual",
AUTO_NO_DATA = "auto_no_data"
}
declare enum TransitionEventType {
ASSIGN = "assign",
FINISH = "finish",
CANCEL = "cancel",
DELEGATE = "delegate"
}
declare class TransitionEvent extends Event<TransitionEventType> {
private _title;
constructor(type: TransitionEventType, id: string);
get title(): I18nString;
set title(value: I18nString);
clone(): TransitionEvent;
isEmpty(): boolean;
}
declare class TransitionEventSource extends EventSource<TransitionEvent, TransitionEventType> {
constructor();
}
declare class TransitionLayout extends Layout {
private _type?;
private _hideEmptyRows?;
private _compactDirection?;
get type(): LayoutType | undefined;
set type(value: LayoutType | undefined);
get hideEmptyRows(): HideEmptyRows | undefined;
set hideEmptyRows(value: HideEmptyRows | undefined);
get compactDirection(): CompactDirection | undefined;
set compactDirection(value: CompactDirection | undefined);
empty(): boolean;
clone(): TransitionLayout;
}
declare class Transition extends NodeElement {
private _layout?;
private _icon?;
private _priority?;
private _assignPolicy;
private _finishPolicy;
private _dataFocusPolicy;
private _triggers;
private _transactionRef?;
private _roleRefs;
private _userRefs;
private _dataGroups;
private _assignedUser?;
private _eventSource;
private _tags;
constructor(x: number, y: number, id: string);
get layout(): TransitionLayout | undefined;
set layout(value: TransitionLayout | undefined);
get icon(): string | undefined;
set icon(value: string | undefined);
get priority(): number | undefined;
set priority(value: number | undefined);
get assignPolicy(): AssignPolicy;
set assignPolicy(value: AssignPolicy);
get finishPolicy(): FinishPolicy;
set finishPolicy(value: FinishPolicy);
get dataFocusPolicy(): DataFocusPolicy;
set dataFocusPolicy(value: DataFocusPolicy);
get triggers(): Array<Trigger>;
set triggers(value: Array<Trigger>);
get transactionRef(): string | undefined;
set transactionRef(value: string | undefined);
get roleRefs(): Array<TransitionPermissionRef>;
set roleRefs(value: Array<TransitionPermissionRef>);
get userRefs(): Array<TransitionPermissionRef>;
set userRefs(value: Array<TransitionPermissionRef>);
get dataGroups(): Array<DataGroup>;
set dataGroups(value: Array<DataGroup>);
get assignedUser(): AssignedUser | undefined;
set assignedUser(value: AssignedUser | undefined);
get eventSource(): TransitionEventSource;
set eventSource(value: TransitionEventSource);
get tags(): Map<string, string>;
set tags(value: Map<string, string>);
clone(): Transition;
}
declare class PetriNet {
private _id;
private _version;
private _lastChanged;
private _initials;
private _title;
private _icon;
private _defaultRole;
private _anonymousRole;
private _transitionRole;
private _caseName;
private _roleRefs;
private _userRefs;
private _processEvents;
private _caseEvents;
private _transactions;
private _roles;
private _functions;
private _data;
private _mappings;
private _i18ns;
private _transitions;
private _places;
private _arcs;
private _tags;
constructor();
get id(): string;
set id(value: string);
get version(): string;
set version(value: string);
get lastChanged(): number;
set lastChanged(value: number);
get initials(): string;
set initials(value: string);
get title(): I18nString;
set title(value: I18nString);
get icon(): string;
set icon(value: string);
get defaultRole(): boolean;
set defaultRole(value: boolean);
get anonymousRole(): boolean;
set anonymousRole(value: boolean);
get transitionRole(): boolean;
set transitionRole(value: boolean);
get caseName(): I18nWithDynamic;
set caseName(value: I18nWithDynamic);
getRoleRefs(): Array<ProcessPermissionRef>;
getRoleRef(id: string): ProcessPermissionRef | undefined;
addRoleRef(roleRef: ProcessPermissionRef): void;
removeRoleRef(id: string): void;
getUserRefs(): Array<ProcessPermissionRef>;
getUserRef(id: string): ProcessPermissionRef | undefined;
addUserRef(userRef: ProcessPermissionRef): void;
removeUserRef(id: string): void;
getProcessEvents(): Array<ProcessEvent>;
getProcessEvent(type: ProcessEventType): ProcessEvent | undefined;
addProcessEvent(event: ProcessEvent): void;
removeProcessEvent(type: ProcessEventType): void;
getCaseEvents(): Array<CaseEvent>;
getCaseEvent(type: CaseEventType): CaseEvent | undefined;
addCaseEvent(event: CaseEvent): void;
removeCaseEvent(type: CaseEventType): void;
getTransactions(): Array<Transaction>;
getTransaction(id: string): Transaction | undefined;
addTransaction(transaction: Transaction): void;
removeTransaction(id: string): void;
getRoles(): Array<Role>;
getRole(id: string): Role | undefined;
addRole(role: Role): void;
removeRole(id: string): void;
get functions(): Array<PetriflowFunction>;
set functions(value: Array<PetriflowFunction>);
addFunction(value: PetriflowFunction): void;
getDataSet(): Array<DataVariable>;
getData(id: string): DataVariable | undefined;
addData(dataVariable: DataVariable): void;
removeData(id: string): void;
getMappings(): Array<Mapping>;
getMapping(id: string): Mapping | undefined;
addMapping(mapping: Mapping): void;
removeMapping(id: string): void;
getI18ns(): Array<I18nTranslations>;
getI18n(locale: string): I18nTranslations | undefined;
addI18n(i18n: I18nTranslations): void;
removeI18n(locale: string): void;
getTransitions(): Array<Transition>;
getTransition(id: string): Transition | undefined;
addTransition(transition: Transition): void;
removeTransition(id: string): void;
getPlaces(): Array<Place>;
getPlace(id: string): Place | undefined;
addPlace(place: Place): void;
removePlace(id: string): void;
getArcs(): Array<Arc<NodeElement, NodeElement>>;
getArc(id: string): Arc<NodeElement, NodeElement> | undefined;
addArc(arc: Arc<NodeElement, NodeElement>): void;
removeArc(id: string): void;
get tags(): Map<string, string>;
set tags(value: Map<string, string>);
clone(): PetriNet;
}
declare abstract class PlaceTransitionArc extends Arc<Place, Transition> {
abstract consume(): number;
abstract canFire(): boolean;
assertCanFire(): void;
}
declare class InhibitorArc extends PlaceTransitionArc {
/**
* Inhibitor arc does not consume any tokens from input place.
* @returns always 0
* @throws Error if firing precondition is not fulfilled.
*/
consume(): number;
/**
* Inhibitor arc enables transition to fire if the input place contains fewer
* tokens than the multiplicity of arc.
* @returns true if place marking < multiplicity, false otherwise
*/
canFire(): boolean;
get type(): ArcType;
clone(): InhibitorArc;
}
declare class ReadArc extends PlaceTransitionArc {
/**
* Read arc does not consume any tokens from input place.
* @returns always 0
* @throws Error if firing precondition is not fulfilled.
*/
consume(): number;
/**
* Read arc enables transition to fire if the input place contains at least as
* many tokens as the multiplicity of arc.
* @returns true if place marking >= multiplicity, false otherwise
*/
canFire(): boolean;
get type(): ArcType;
clone(): ReadArc;
}
declare class RegularPlaceTransitionArc extends PlaceTransitionArc {
/**
* Regular arc consumes number of tokens equal to its multiplicity.
* @returns number of consumed tokens = multiplicity of arc
* @throws Error if firing precondition is not fulfilled.
*/
consume(): number;
/**
* Regular arc enables transition to fire if the input place contains at
* least as many tokens as the multiplicity of arc.
* @returns true if place marking >= multiplicity, false otherwise
*/
canFire(): boolean;
get type(): ArcType;
clone(): RegularPlaceTransitionArc;
}
declare abstract class TransitionPlaceArc extends Arc<Transition, Place> {
abstract produce(): void;
}
declare class RegularTransitionPlaceArc extends TransitionPlaceArc {
/**
* Regular arc produces number of tokens equal to its multiplicity.
*/
produce(): void;
get type(): ArcType;
clone(): RegularTransitionPlaceArc;
}
declare class ResetArc extends PlaceTransitionArc {
/**
* Reset arc consumes all tokens from the input place. Since reset arc does
* not impose any precondition on firing, this function does not throw any
* error.
* @returns number of consumed tokens = number of tokens in input place.
*/
consume(): number;
/**
* Reset arc does not impose a precondition on firing.
* @returns always true
*/
canFire(): boolean;
get type(): ArcType;
clone(): ResetArc;
}
declare class ImportUtils {
private eventIdCounter;
private actionIdCounter;
tagValue(xmlTag: Element | Document | null, child: string): string;
parseI18n(xmlTag: Element | Document, child: string): I18nString;
parseI18nWithDynamic(xmlTag: Element | Document, child: string): I18nWithDynamic;
tagAttribute(xmlTag: Element | null, attribute: string): string;
parseAction(actionTag: Element): Action;
parseFunction(xmlFunction: Element): PetriflowFunction;
parseDefinition(tag: Element): string;
removeExcessiveIndents(action: string): string;
parseEncryption(xmlTag: Element): string | undefined;
parseViewAndComponent(xmlTag: Element): Component | undefined;
parseComponent(xmlTag: Element): Component | undefined;
parseProperty(property: Element): Property;
resolveLogic(xmlRoleRefLogic: Element, roleRef: TransitionPermissionRef): void;
resolveLogicValue(logicValue: string): boolean | undefined;
resolveCaseLogic(xmlRoleRefLogic: Element, roleRef: ProcessPermissionRef): void;
checkVariability(model: PetriNet, arc: Arc<NodeElement, NodeElement>, reference: string | undefined): void;
attachReference(arc: Arc<NodeElement, NodeElement>, reference: Place | DataVariable): void;
/**
* Determines whether the given value is an initial numeric value.
* This method checks if the provided `value` is defined, has a `value` property,
* and passes the `initValueNumberTest` logic.
*
* @param {I18nWithDynamic} [value] - The value to be checked.
* @return {boolean} Returns `true` if the value is an initial numeric value, otherwise `false`.
*/
static isInitValueNumber(value?: I18nWithDynamic): boolean;
/**
* Validates whether the provided value in an I18nWithDynamic object is a valid positive number string.
*
* @param {I18nWithDynamic} [value] - The object containing the value to be tested.
* @return {boolean} Returns true if the value exists, is non-empty, and matches the regex pattern for a positive number; otherwise, returns false.
*/
static initValueNumberTest(value?: I18nWithDynamic): boolean;
parseTrigger(xmlTrigger: Element): Trigger;
parseRoleRef(xmlRoleRef: Element): TransitionPermissionRef;
parseDataRef(xmlDataRef: Element, index: number): DataRef;
parseDataLayout(xmlLayout: Element | null): DataLayout;
parseDataGroup(xmlDataGroup: Element): DataGroup;
parsePlaceStatic(xmlPlace: Element): boolean;
parseArcType(xmlArc: Element): XmlArcType;
parseEvent<T>(xmlEvent: Element, event: Event<T>): void;
resolveInits(xmlData: Element): Array<I18nWithDynamic>;
resolveInit(xmlData: Element): I18nWithDynamic | undefined;
resolveInitValue(elementValue: Element | undefined): I18nWithDynamic | undefined;
checkLengthAndNodes(element: Element, name: string): boolean;
resolveFormat(xmlData: Element, data: DataVariable): void;
parseNumberValue(element: Element | null, name: string): number | undefined;
parseExpression(xmlTag: Element, name: string): Expression | undefined;
private getNextEventId;
private getNextActionId;
resetEventId(): void;
resetActionId(): void;
resetIds(): void;
parseTags(xmlDoc: Element | Document): Map<string, string>;
parseTag(tags: Map<string, string>, tagElement: Element): void;
}
declare class PetriNetResult {
private _model;
private readonly _errors;
private readonly _warnings;
private readonly _info;
constructor(model?: PetriNet);
get model(): PetriNet;
set model(value: PetriNet);
get errors(): Array<string>;
addError(error: string, e: Error): void;
get warnings(): Array<string>;
addWarning(warning: string): void;
get info(): Array<string>;
addInfo(value: string): void;
}
declare class ImportService {
protected importUtils: ImportUtils;
private static readonly PARSE_ERROR_LINE_EXTRACTION_REGEX;
private static readonly DEFAULT_ROLE_DEFAULT_VALUE;
private static readonly ANONYMOUS_ROLE_DEFAULT_VALUE;
private static readonly TRANSITION_ROLE_DEFAULT_VALUE;
constructor(importUtils?: ImportUtils);
private parseXml;
parseFromXml(txt: string): PetriNetResult;
private importFromXml;
importModel(modelResult: PetriNetResult, xmlDoc: Document): void;
importRoles(modelResult: PetriNetResult, xmlDoc: Document): void;
parseRole(model: PetriNet, xmlRole: Element, role: Role): void;
importFunctions(modelResult: PetriNetResult, xmlDoc: Document): void;
importEvents(modelResult: PetriNetResult, xmlDoc: Document): void;
importData(modelResult: PetriNetResult, xmlDoc: Document): void;
parseData(result: PetriNetResult, xmlData: Element, data: DataVariable): void;
importTransitions(modelResult: PetriNetResult, xmlDoc: Document): void;
parseTransition(result: PetriNetResult, xmlTrans: Element, trans: Transition): void;
private importTransitionRoleRefs;
private importTransitionUserRefs;
private importTransitionTriggers;
private importTransitionDataGroups;
private importTransitionLayout;
private importTransitionMetadata;
private importTransitionEvents;
private importTransitionEvent;
private importTransactionRef;
private importAssignedUser;
importTransactions(modelResult: PetriNetResult, xmlDoc: Document): void;
importProcessRefs(modelResult: PetriNetResult, xmlDoc: Document): void;
importPlaces(modelResult: PetriNetResult, xmlDoc: Document): void;
importPlace(modelResult: PetriNetResult, xmlPlace: Element): void;
parsePlace(model: PetriNet, xmlPlace: Element, place: Place): void;
importArcs(modelResult: PetriNetResult, xmlDoc: Document): void;
parseArc(result: PetriNetResult, xmlArc: Element): Arc<NodeElement, NodeElement>;
resolveArc(source: string, target: string, parsedArcType: XmlArcType, arcId: string, result: PetriNetResult): Arc<NodeElement, NodeElement>;
getPlaceTransition(result: PetriNetResult, placeId: string, transitionId: string, arcId: string): [Place, Transition];
importBreakPoints(xmlArc: Element, arc: Arc<NodeElement, NodeElement>, result: PetriNetResult): void;
importI18n(modelResult: PetriNetResult, xmlDoc: Document): void;
parseI18n(result: PetriNetResult, xmlI18n: Element, i18nNode: I18nTranslations): void;
importMapping(modelResult: PetriNetResult, xmlDoc: Document): void;
parseMapping(model: PetriNet, xmlMap: Element, mapping: Mapping): void;
private checkI18ns;
private static checkI18n;
}
declare class ExportUtils {
protected xmlConstructor: XMLDocument;
exportTag(doc: Element, name: string, value: string | undefined, force?: boolean, attributes?: Array<{
key: string;
value: string;
}>, cdata?: boolean): void;
exportExpression(doc: Element, name: string, value: Expression | undefined): void;
exportOption(doc: Element, name: string, value: Option | undefined): void;
exportI18nString(doc: Element, name: string, value: I18nString | undefined, force?: boolean): void;
exportI18nWithDynamic(doc: Element, name: string, value: I18nWithDynamic | undefined): void;
exportActions<T>(element: Element, event: Event<T>, phase: string): void;
exportAction(element: Element, action: Action): void;
exportFunction(element: Element, _function: PetriflowFunction): void;
exportLogic(element: Element, logic: Logic, type: string): void;
exportCaseLogic(element: Element, logic: CaseLogic, type: string): void;
exportArcType(type: ArcType): XmlArcType;
createCDATA(content: string): CDATASection;
exportTags(doc: Element, tags: Map<string, string>): void;
}
declare class ExportService {
protected _exportUtils: ExportUtils;
static readonly PETRIFLOW_SCHEMA_URL = "https://petriflow.com/petriflow.schema.xsd";
protected xmlConstructor: XMLDocument;
constructor(_exportUtils?: ExportUtils);
exportXml(model: PetriNet): string;
generateXml(model: PetriNet): Element;
exportModel(doc: Element, model: PetriNet): void;
exportTransactions(doc: Element, model: PetriNet): void;
exportRoles(doc: Element, model: PetriNet): void;
exportFunctions(doc: Element, model: PetriNet): void;
exportEvent<T>(element: Element, event: Event<T>): void;
exportProcessRefs(doc: Element, model: PetriNet): void;
exportProcessRef(element: Element, ref: ProcessPermissionRef, name: string): void;
exportTransitionRef(element: Element, ref: TransitionPermissionRef, name: string): void;
exportProcessEvents(doc: Element, model: PetriNet): void;
exportData(doc: Element, model: PetriNet): void;
exportI18n(doc: Element, model: PetriNet): void;
exportTransitions(doc: Element, model: PetriNet): void;
exportDataRef(element: Element, dataRef: DataRef): void;
exportComponent(element: Element, component: Component): void;
exportDataRefLayout(element: Element, layout: DataLayout): void;
exportTransitionLayout(element: Element, layout: TransitionLayout): void;
exportDataGroup(element: Element, dataGroup: DataGroup): void;
exportPlaces(doc: Element, model: PetriNet): void;
exportArcs(doc: Element, model: PetriNet): void;
exportBreakpoints(exportArc: Element, arc: Arc<NodeElement, NodeElement>): void;
dataRefOrder(a: DataRef, b: DataRef): number;
alphabetically(a: string, b: string): number;
}
declare abstract class Simulation {
static readonly ARC_ORDER: ArcType[];
private readonly _originalModel;
private _simulationModel;
private _inputArcs;
private _outputArcs;
private _assignedTasks;
private _consumedTokens;
constructor(model: PetriNet);
fire(transitionId: string): void;
abstract assign(transitionId: string): void;
abstract finish(transitionId: string): void;
abstract cancel(transitionId: string): void;
abstract isEnabled(transitionId: string): boolean;
abstract enabled(): Array<Transition>;
abstract isAssigned(transitionId: string): boolean;
abstract assigned(): Array<Transition>;
reset(): void;
get simulationModel(): PetriNet;
get originalModel(): PetriNet;
get inputArcs(): Map<string, Array<Arc<NodeElement, NodeElement>>>;
get outputArcs(): Map<string, Array<Arc<NodeElement, NodeElement>>>;
get assignedTasks(): Set<string>;
get consumedTokens(): Map<string, number>;
}
declare class BasicSimulation extends Simulation {
private dataVariables;
constructor(model: PetriNet, dataVariables?: Map<string, number>);
reset(): void;
updateData(dataVariables: Map<string, number>): void;
updatePlaceReferences(): void;
assign(transitionId: string): void;
finish(transitionId: string): void;
cancel(transitionId: string): void;
isEnabled(transitionId: string): boolean;
enabled(): Array<Transition>;
isAssigned(transitionId: string): boolean;
assigned(): Array<Transition>;
protected updateIOArc(arc: Arc<NodeElement, NodeElement>): void;
protected insertArc(arcs: Map<string, Array<Arc<NodeElement, NodeElement>>>, arc: Arc<NodeElement, NodeElement>, id: string): void;
protected updateDataReference(arc: Arc<NodeElement, NodeElement>): void;
protected updatePlaceReference(arc: Arc<NodeElement, NodeElement>): void;
protected arcOrder(a: Arc<NodeElement, NodeElement>, b: Arc<NodeElement, NodeElement>): number;
}
export { Action, Alignment, Appearance, Arc, ArcType, AssignPolicy, AssignedUser, BasicSimulation, Breakpoint, CaseEvent, CaseEventType, CaseLogic, CompactDirection, Component, DataEvent, DataEventSource, DataEventType, DataFocusPolicy, DataGroup, DataLayout, DataRef, DataRefBehavior, DataRefLogic, DataType, DataVariable, Element$1 as Element, Event, EventPhase, EventSource, ExportService, ExportUtils, Expression, FinishPolicy, FunctionScope, HideEmptyRows, I18nString, I18nTranslations, I18nWithDynamic, Icon, IconType, ImportService, ImportUtils, InhibitorArc, Layout, LayoutType, Logic, Mapping, NodeElement, Option, PermissionRef, PetriNet, PetriNetResult, PetriflowFunction, Place, PlaceTransitionArc, ProcessEvent, ProcessEventType, ProcessPermissionRef, Property, ReadArc, RegularPlaceTransitionArc, RegularTransitionPlaceArc, ResetArc, Role, RoleEvent, RoleEventType, Template, Transaction, Transition, TransitionEvent, TransitionEventSource, TransitionEventType, TransitionLayout, TransitionPermissionRef, TransitionPlaceArc, Trigger, TriggerType, Validation, XmlArcType };