UNPKG

@netgrif/petriflow

Version:

Javascript / Typescript library of Petriflow objects

1,159 lines (1,079 loc) 39.3 kB
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 };