/**
 * Monitor for interruption requests in all time-consuming operations.
 * @hideconstructor
 */
class AbstractInterruptMonitor {
	/**
	 * Indicates whether interruption is requested for current operation.
	 * If true then current operation will be interrupted.
	 */
	isInterruptionRequested() {
	}

}

/**
 * Defines custom command names that appear on an object's shortcut menu and specifies the actions that the commands take.
 */
class Act {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the name of the command that appears on the shortcut menu for a shape or page.
	 */
	getMenu() {
	}

	/**
	 * Contains the formula to execute when a user clicks the command name defined in the corresponding Menu element.
	 */
	getAction() {
	}

	/**
	 * Determines whether a check mark is displayed beside the command name on a shape's shortcut menu.
	 */
	getChecked() {
	}

	/**
	 * Disabled element determines whether the command name is displayed on the shortcut menu.
	 */
	getDisabled() {
	}

	/**
	 * Determines whether the action on a smart tag or shortcut menu is read-only.
	 */
	getReadOnly() {
	}

	/**
	 * Invisible element indicates whether the action is visible on the smart tag or shortcut menu.
	 */
	getInvisible() {
	}

	/**
	 * Indicates whether a separator is inserted into the menu above this action.
	 */
	getBeginGroup() {
	}

	/**
	 * Determines whether the action row is a child flyout menu of the last row above it that is not a flyout child.
	 */
	getFlyoutChild() {
	}

	/**
	 * It contains the name of the smart tag that the action is associated with.
	 */
	getTagName() {
	}

	/**
	 * It identifies the icon that appears next to an item on a shortcut menu.
	 */
	getButtonFace() {
	}

	/**
	 * It specifies a number that determines the order of actions that appear on a shortcut or smart tag menu.
	 */
	getSortKey() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Act collection.
 * @hideconstructor
 */
class ActCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Act}
	 */
	get(index) {
	}

	/**
	 * Add the Act object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Act object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID
	 * @return {Act}
	 */
	getAct(ID) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents the ActiveX control.
 * @hideconstructor
 */
class ActiveXControl {
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Represents the ActiveX control.
 * @hideconstructor
 */
class ActiveXControlBase {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

}

/**
 * Indicates the alignment of a shape with respect to the guide or guide point to which the shape is glued. The Align element appears only for shapes that are glued to guides or guide points.
 * @hideconstructor
 */
class Align {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Determines the horizontal position, relative to the origin of its parent, of a vertical guide or guide point to which the shape's left border is aligned.
	 */
	getAlignLeft() {
	}

	/**
	 * Determines the horizontal position, relative to the origin of its parent, of a vertical guide or guide point to which the shape's horizontal center is aligned.
	 */
	getAlignCenter() {
	}

	/**
	 * Determines the horizontal position, relative to the origin of its parent, of a vertical guide or guide point to which the shape's right border is aligned.
	 */
	getAlignRight() {
	}

	/**
	 * Determines the vertical position, relative to the origin of its parent, of a horizontal guide or guide point to which the shape's top border is aligned.
	 */
	getAlignTop() {
	}

	/**
	 * Determines the vertical position, relative to the origin of its parent, of a horizontal guide or guide point to which the shape's vertical center is aligned.
	 */
	getAlignMiddle() {
	}

	/**
	 * Determines the vertical position, relative to the origin of its parent, of a horizontal guide or guide point to which the shape's bottom border is aligned.
	 */
	getAlignBottom() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specifies the tab alignment.
 */
class Alignment {
	/**
	 * Constructor.
	 * @param {Number} value - AlignmentValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the tab alignment.
	 * The value of the property is AlignmentValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the tab alignment.
	 * The value of the property is AlignmentValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that contain information about comments inserted into a document page.
 * @hideconstructor
 */
class Annotation {
	/**
	 * The shape ID of the comment.
	 */
	getShapeID() {
	}
	/**
	 * The shape ID of the comment.
	 */
	setShapeID(value) {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the comment marker in page coordinates.
	 */
	getX() {
	}

	/**
	 * The y-coordinate of the comment marker in page coordinates.
	 */
	getY() {
	}

	/**
	 * Contains the ID number of the reviewer adding markup to the document.
	 */
	getReviewerID() {
	}

	/**
	 * Specifies the index number assigned to a comment marker.
	 */
	getMarkerIndex() {
	}

	/**
	 * specifies when a comment was created
	 */
	getDate() {
	}

	/**
	 * Specifies when a comment was last changed
	 */
	getEditDate() {
	}

	/**
	 * Contains the comment text in string format for a shape.
	 */
	getComment() {
	}

	/**
	 * Indicates the locale ID (LCID) of the language in which the cell formula, text, custom property, or comment was entered.
	 */
	getLangID() {
	}

}

/**
 * Annotation collection.
 * @hideconstructor
 */
class AnnotationCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Annotation}
	 */
	get(index) {
	}

	/**
	 * Add the Annotation object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Annotation object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains the x- and y-coordinates and bow of a circular arc represented respectively by the X, Y, and A elements.
 */
class ArcTo {
	/**
	 * Creates an instance of the ArcTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the ending vertex of an arc.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the ending vertex of an arc.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the ending vertex of an arc.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the ending vertex of an arc.
	 */
	setY(value) {
	}

	/**
	 * The distance from the arc's midpoint to the midpoint of its chord.
	 */
	getA() {
	}
	/**
	 * The distance from the arc's midpoint to the midpoint of its chord.
	 */
	setA(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * ArcTo collection.
 * @hideconstructor
 */
class ArcToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @return {ArcTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies the size of the arrowhead of the line.
 */
class ArrowSize {
	/**
	 * Constructor.
	 * @param {Number} value - ArrowSizeValue
	 */
	constructor(value) {
	}

	/**
	 */
	isThemed() {
	}
	/**
	 */
	setThemed(value) {
	}

	/**
	 * Specifies the size of the arrowhead of the line.
	 * The value of the property is ArrowSizeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the size of the arrowhead of the line.
	 * The value of the property is ArrowSizeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Defines a rule that compares a column in the parent DataRecordset element with a shape data item from the last successful automatic linking action performed in the user interface.
 * @hideconstructor
 */
class AutoLinkComparison {
	/**
	 * Corresponds to a column name in the ADO recordset.
	 */
	getColumnName() {
	}
	/**
	 * Corresponds to a column name in the ADO recordset.
	 */
	setColumnName(value) {
	}

	/**
	 * Specifies properties of the group or shape to use for the comparison. Possible values are shown in the following table.
	 * The value of the property is ContextTypeValue integer constant.
	 */
	getContextType() {
	}
	/**
	 * Specifies properties of the group or shape to use for the comparison. Possible values are shown in the following table.
	 * The value of the property is ContextTypeValue integer constant.
	 */
	setContextType(value) {
	}

	/**
	 * If the ContextType value is 2 or 3, this attribute is required to define a comparison. For ContextType = 2, ContextTypeLabel must be the shape data item label, and if ContextType = 3, ContextTypeLabel must be the local row name.
	 */
	getContextTypeLabel() {
	}
	/**
	 * If the ContextType value is 2 or 3, this attribute is required to define a comparison. For ContextType = 2, ContextTypeLabel must be the shape data item label, and if ContextType = 3, ContextTypeLabel must be the local row name.
	 */
	setContextTypeLabel(value) {
	}

}

/**
 * Represents autospace options.
 */
class AutoSpaceOptions {
	/**
	 */
	constructor() {
	}

	/**
	 * Defines the distance between the shapes in vertical direction in inches.
	 * Default value 0.375 inch .
	 */
	getDistanceInVertical() {
	}
	/**
	 * Defines the distance between the shapes in vertical direction in inches.
	 * Default value 0.375 inch .
	 */
	setDistanceInVertical(value) {
	}

	/**
	 * Defines the distance between the shapes in horizontal direction in inches.
	 * Default value 0.375 inch .
	 */
	getDistanceInHorizontal() {
	}
	/**
	 * Defines the distance between the shapes in horizontal direction in inches.
	 * Default value 0.375 inch .
	 */
	setDistanceInHorizontal(value) {
	}

}

/**
 * Represents a bevel of a shape
 * @hideconstructor
 */
class Bevel {
	/**
	 * Gets and sets the width of the bevel, or how far into the shape it is applied.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the bevel, or how far into the shape it is applied.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the bevel, or how far above the shape it is applied.
	 * In unit of Points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the bevel, or how far above the shape it is applied.
	 * In unit of Points.
	 */
	setHeight(value) {
	}

}

/**
 * Specifies the type of shadow for a shape.
 */
class BevelLightingType {
	/**
	 * Constructor.
	 * @param {Number} value - BevelLightingTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of bevel.
	 * The value of the property is BevelLightingTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of bevel.
	 * The value of the property is BevelLightingTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the type of shadow for a shape.
 */
class BevelMaterialType {
	/**
	 * Constructor.
	 * @param {Number} value - BevelMaterialTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of bevel.
	 * The value of the property is BevelMaterialTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of bevel.
	 * The value of the property is BevelMaterialTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the type of shadow for a shape.
 */
class BevelType {
	/**
	 * Constructor.
	 * @param {Number} value - BevelTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of bevel.
	 * The value of the property is BevelTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of bevel.
	 * The value of the property is BevelTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Boolean value.
 */
class BoolValue {
	/**
	 * Constructor.
	 * @param {Number} value - BOOL
	 * @param {Number} unit - MeasureConst
	 */
	constructor(value, unit) {
	}

	/**
	 * Boolean value
	 * The value of the property is BOOL integer constant.
	 */
	getValue() {
	}
	/**
	 * Boolean value
	 * The value of the property is BOOL integer constant.
	 */
	setValue(value) {
	}

	/**
	 */
	isThemed() {
	}
	/**
	 */
	setThemed(value) {
	}

	/**
	 * Attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Determines the bullet style.
 */
class Bullet {
	/**
	 * Constructor.
	 * @param {Number} value - BulletValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the bullet style.
	 * The value of the property is BulletValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the bullet style.
	 * The value of the property is BulletValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines the calendar that is used for custom properties, text fields, and element formulas.
 */
class Calendar {
	/**
	 * Constructor.
	 * @param {Number} value - CalendarValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the calendar that is used for custom properties, text fields, and element formulas.
	 * The value of the property is CalendarValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the calendar that is used for custom properties, text fields, and element formulas.
	 * The value of the property is CalendarValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Determines the case of a shape's text.
 */
class Case {
	/**
	 * Constructor.
	 * @param {Number} value - CaseValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the case of a shape's text.
	 * The value of the property is CaseValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the case of a shape's text.
	 * The value of the property is CaseValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains the formatting attributes for the shape's text, such as font, color, text style, case, position relative to the baseline, and point size.
 */
class Char {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the ID number of the font used to format the text.
	 */
	getFont() {
	}
	/**
	 * Specifies the ID number of the font used to format the text.
	 */
	setFont(value) {
	}

	/**
	 * It specified the font name of the font used to format the text.It is using for visio 2013
	 */
	getFontName() {
	}
	/**
	 * It specified the font name of the font used to format the text.It is using for visio 2013
	 */
	setFontName(value) {
	}

	/**
	 * When contained in a Char element, the Color element.
	 */
	getColor() {
	}
	/**
	 * When contained in a Char element, the Color element.
	 */
	setColor(value) {
	}

	/**
	 * Specifies the character formatting applied to a range of text in the shape's text block.
	 */
	getStyle() {
	}
	/**
	 * Specifies the character formatting applied to a range of text in the shape's text block.
	 */
	setStyle(value) {
	}

	/**
	 * Determines the case of a shape's text.
	 */
	getCase() {
	}
	/**
	 * Determines the case of a shape's text.
	 */
	setCase(value) {
	}

	/**
	 * Specifies the position of the shape's text relative to the baseline.
	 */
	getPos() {
	}
	/**
	 * Specifies the position of the shape's text relative to the baseline.
	 */
	setPos(value) {
	}

	/**
	 * Specifies the font width.
	 */
	getFontScale() {
	}
	/**
	 * Specifies the font width.
	 */
	setFontScale(value) {
	}

	/**
	 * It specified the locale of the text run for spell-checking purposes.
	 */
	getLocale() {
	}
	/**
	 * It specified the locale of the text run for spell-checking purposes.
	 */
	setLocale(value) {
	}

	/**
	 * Specifies the size of the text in the shape's text block.
	 */
	getSize() {
	}
	/**
	 * Specifies the size of the text in the shape's text block.
	 */
	setSize(value) {
	}

	/**
	 * Specifies whether the range of text has a double underline below it.
	 */
	getDblUnderline() {
	}
	/**
	 * Specifies whether the range of text has a double underline below it.
	 */
	setDblUnderline(value) {
	}

	/**
	 * Specifies whether the text has a line above it.
	 */
	getOverline() {
	}
	/**
	 * Specifies whether the text has a line above it.
	 */
	setOverline(value) {
	}

	/**
	 * It specified highlight.
	 */
	getHighlight() {
	}
	/**
	 * It specified highlight.
	 */
	setHighlight(value) {
	}

	/**
	 * It specified whether a text field appears perpendicular to the other text in a text block.
	 */
	getPerpendicular() {
	}
	/**
	 * It specified whether a text field appears perpendicular to the other text in a text block.
	 */
	setPerpendicular(value) {
	}

	/**
	 * Specifies whether the text is formatted as strikethrough.
	 */
	getStrikethru() {
	}
	/**
	 * Specifies whether the text is formatted as strikethrough.
	 */
	setStrikethru(value) {
	}

	/**
	 * Determines whether text is formatted as double strikethrough.
	 */
	getDoubleStrikethrough() {
	}
	/**
	 * Determines whether text is formatted as double strikethrough.
	 */
	setDoubleStrikethrough(value) {
	}

	/**
	 * Determines if the text direction of the current character run is left to right or right to left.
	 */
	getRTLText() {
	}
	/**
	 * Determines if the text direction of the current character run is left to right or right to left.
	 */
	setRTLText(value) {
	}

	/**
	 * Determines whether the character run is vertical or horizontal.
	 */
	getUseVertical() {
	}
	/**
	 * Determines whether the character run is vertical or horizontal.
	 */
	setUseVertical(value) {
	}

	/**
	 * Specifies the amount of space between two or more characters. Space can be added or subtracted in 1/20th point increments.
	 */
	getLetterspace() {
	}
	/**
	 * Specifies the amount of space between two or more characters. Space can be added or subtracted in 1/20th point increments.
	 */
	setLetterspace(value) {
	}

	/**
	 * Determines the degree of transparency for a layer or shape's text color, from 0 (completely opaque) to 1 (completely transparent).
	 */
	getColorTrans() {
	}
	/**
	 * Determines the degree of transparency for a layer or shape's text color, from 0 (completely opaque) to 1 (completely transparent).
	 */
	setColorTrans(value) {
	}

	/**
	 * Specifies the ID number of the font used to format text containing Asian characters.
	 */
	getAsianFont() {
	}
	/**
	 * Specifies the ID number of the font used to format text containing Asian characters.
	 */
	setAsianFont(value) {
	}

	/**
	 * It specified the asian font name of the font used to format the text.It is using for visio 2013
	 */
	getAsianFontName() {
	}
	/**
	 * It specified the asian font name of the font used to format the text.It is using for visio 2013
	 */
	setAsianFontName(value) {
	}

	/**
	 * Specifies whether the shape text should be localized (translated into another language).
	 */
	getLocalizeFont() {
	}
	/**
	 * Specifies whether the shape text should be localized (translated into another language).
	 */
	setLocalizeFont(value) {
	}

	/**
	 * Indicating whether the font is double underline.
	 */
	isDoubleUnderline() {
	}

	/**
	 * Indicating whether the font is subscript.
	 */
	isSubscript() {
	}

	/**
	 * Indicating whether the font is superscript.
	 */
	isSuperscript() {
	}

	/**
	 * Indicating whether the font is strikethrough.
	 */
	isStrikethrough() {
	}

	/**
	 * Indicating whether the font is doubleStrikethrough.
	 */
	isDoubleStrikethrough() {
	}

	/**
	 * Indicating whether the font is underline.
	 */
	isUnderline() {
	}

	/**
	 * Indicating whether the font is italic.
	 */
	isItalic() {
	}

	/**
	 * Indicating whether the font is bold.
	 */
	isBold() {
	}

	/**
	 * The size of the font used to format text composed of complex script characters. Complex scripts are languages whose characters require ligation or shaping, such as the right-to-left languages (Arabic, Farsi, Hebrew, and Urdu) and several South Asian languages.
	 */
	getComplexScriptSize() {
	}
	/**
	 * The size of the font used to format text composed of complex script characters. Complex scripts are languages whose characters require ligation or shaping, such as the right-to-left languages (Arabic, Farsi, Hebrew, and Urdu) and several South Asian languages.
	 */
	setComplexScriptSize(value) {
	}

	/**
	 * Contains the number of the font used to format text composed of complex script characters. Complex scripts are languages whose characters require ligation or shaping, such as the right-to-left languages (Arabic, Farsi, Hebrew, and Urdu) and several South Asian languages.
	 */
	getComplexScriptFont() {
	}
	/**
	 * Contains the number of the font used to format text composed of complex script characters. Complex scripts are languages whose characters require ligation or shaping, such as the right-to-left languages (Arabic, Farsi, Hebrew, and Urdu) and several South Asian languages.
	 */
	setComplexScriptFont(value) {
	}

	/**
	 * It specified the ComplexScript font name of the font used to format the text.It is using for visio 2013
	 */
	getComplexScriptFontName() {
	}
	/**
	 * It specified the ComplexScript font name of the font used to format the text.It is using for visio 2013
	 */
	setComplexScriptFontName(value) {
	}

	/**
	 * Indicates the locale ID (LCID) of the language in which the cell formula, text, custom property, or comment was entered.
	 * For a list of languages supported by Microsoft Office applications and their corresponding language IDs, see the DocLangID element.
	 */
	getLangID() {
	}
	/**
	 * Indicates the locale ID (LCID) of the language in which the cell formula, text, custom property, or comment was entered.
	 * For a list of languages supported by Microsoft Office applications and their corresponding language IDs, see the DocLangID element.
	 */
	setLangID(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Char collection.
 * @hideconstructor
 */
class CharCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Char}
	 */
	get(index) {
	}

	/**
	 * Add the Char object in the collection.
	 * @param {Char} item
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Char object from the collection.
	 * @param {Char} item
	 */
	remove(item) {
	}

	/**
	 * Gets the element at the specified IX.
	 * @param {Number} IX - int
	 * @return {Char} CharChar.
	 */
	getChar(IX) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents a CheckBox ActiveX control.
 * @hideconstructor
 */
class CheckBoxActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the group's name.
	 */
	getGroupName() {
	}
	/**
	 * Gets and sets the group's name.
	 */
	setGroupName(value) {
	}

	/**
	 * Gets and set the position of the Caption relative to the control.
	 * The value of the property is ControlCaptionAlignmentType integer constant.
	 */
	getAlignment() {
	}
	/**
	 * Gets and set the position of the Caption relative to the control.
	 * The value of the property is ControlCaptionAlignmentType integer constant.
	 */
	setAlignment(value) {
	}

	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	isWordWrapped() {
	}
	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	setWordWrapped(value) {
	}

	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	getCaption() {
	}
	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	setCaption(value) {
	}

	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	getPicturePosition() {
	}
	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	setPicturePosition(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Gets and sets the data of the picture.
	 */
	getPicture() {
	}
	/**
	 * Gets and sets the data of the picture.
	 */
	setPicture(value) {
	}

	/**
	 * Gets and sets the accelerator key for the control.
	 */
	getAccelerator() {
	}
	/**
	 * Gets and sets the accelerator key for the control.
	 */
	setAccelerator(value) {
	}

	/**
	 * Indicates if the control is checked or not.
	 * The value of the property is CheckValueType integer constant.
	 */
	getValue() {
	}
	/**
	 * Indicates if the control is checked or not.
	 * The value of the property is CheckValueType integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Indicates how the specified control will display Null values.
	 * SettingDescriptionTrueThe control will cycle through states for Yes, No, and Null values. The control appears dimmed (grayed) when its Value property is set to Null.False(Default) The control will cycle through states for Yes and No values. Null values display as if they were No values.
	 */
	isTripleState() {
	}
	/**
	 * Indicates how the specified control will display Null values.
	 * SettingDescriptionTrueThe control will cycle through states for Yes, No, and Null values. The control appears dimmed (grayed) when its Value property is set to Null.False(Default) The control will cycle through states for Yes and No values. Null values display as if they were No values.
	 */
	setTripleState(value) {
	}

	/**
	 * Indicates whether the box is checked.
	 */
	isChecked() {
	}
	/**
	 * Indicates whether the box is checked.
	 */
	setChecked(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * It is base class for collections.
 */
class Collection {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains a color table entry. Each color table entry specifies a standard color that is available for application to objects such as shapes, text, and layers in the document.
 */
class ColorEntry {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Required int. The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * Required int. The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * Represents an ARGB color.
	 */
	getColor() {
	}

}

/**
 * Contains the document's color table. Each document contains a single color table,
 * which lists the 24 standard colors that are available for application to objects
 * such as shapes, text, and layers in the document.
 * @hideconstructor
 */
class ColorEntryCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {ColorEntry}
	 */
	get(index) {
	}

	/**
	 * Add the Color object in the collection.
	 * @param {ColorEntry} color
	 * @return {Number}
	 */
	add(color) {
	}

	/**
	 * Remove the Color object from the collection.
	 * @param {ColorEntry} color
	 */
	remove(color) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents color value
 */
class ColorValue {
	/**
	 * Constructor.
	 * @param {String} value
	 * @param {Number} unit - MeasureConst
	 */
	constructor(value, unit) {
	}

	/**
	 * Color Value. To set the color, enter a number from 0 to 23 or the RGB value in hexadecimal notation.
	 */
	getValue() {
	}
	/**
	 * Color Value. To set the color, enter a number from 0 to 23 or the RGB value in hexadecimal notation.
	 */
	setValue(value) {
	}

	/**
	 * Attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Represents a ComboBox ActiveX control.
 * @hideconstructor
 */
class ComboBoxActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the maximum number of characters
	 */
	getMaxLength() {
	}
	/**
	 * Gets and sets the maximum number of characters
	 */
	setMaxLength(value) {
	}

	/**
	 * Gets and set the width in unit of points.
	 */
	getListWidth() {
	}
	/**
	 * Gets and set the width in unit of points.
	 */
	setListWidth(value) {
	}

	/**
	 * Represents how the Value property is determined for a ComboBox or ListBox
	 * when the MultiSelect propertys value (fmMultiSelectSingle).
	 */
	getBoundColumn() {
	}
	/**
	 * Represents how the Value property is determined for a ComboBox or ListBox
	 * when the MultiSelect propertys value (fmMultiSelectSingle).
	 */
	setBoundColumn(value) {
	}

	/**
	 * Represents the column in a ComboBox or ListBox to display to the user.
	 */
	getTextColumn() {
	}
	/**
	 * Represents the column in a ComboBox or ListBox to display to the user.
	 */
	setTextColumn(value) {
	}

	/**
	 * Represents the number of columns to display in a ComboBox or ListBox.
	 */
	getColumnCount() {
	}
	/**
	 * Represents the number of columns to display in a ComboBox or ListBox.
	 */
	setColumnCount(value) {
	}

	/**
	 * Represents the maximum number of rows to display in the list.
	 */
	getListRows() {
	}
	/**
	 * Represents the maximum number of rows to display in the list.
	 */
	setListRows(value) {
	}

	/**
	 * Indicates how a ListBox or ComboBox searches its list as the user types.
	 * The value of the property is ControlMatchEntryType integer constant.
	 */
	getMatchEntry() {
	}
	/**
	 * Indicates how a ListBox or ComboBox searches its list as the user types.
	 * The value of the property is ControlMatchEntryType integer constant.
	 */
	setMatchEntry(value) {
	}

	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is DropButtonStyle integer constant.
	 */
	getDropButtonStyle() {
	}
	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is DropButtonStyle integer constant.
	 */
	setDropButtonStyle(value) {
	}

	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is ShowDropButtonType integer constant.
	 */
	getShowDropButtonTypeWhen() {
	}
	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is ShowDropButtonType integer constant.
	 */
	setShowDropButtonTypeWhen(value) {
	}

	/**
	 * Gets and sets the visual appearance.
	 * The value of the property is ControlListStyle integer constant.
	 */
	getListStyle() {
	}
	/**
	 * Gets and sets the visual appearance.
	 * The value of the property is ControlListStyle integer constant.
	 */
	setListStyle(value) {
	}

	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	getBorderStyle() {
	}
	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	setBorderStyle(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBorderOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBorderOleColor(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Indicates whether the user can type into the control.
	 */
	isEditable() {
	}
	/**
	 * Indicates whether the user can type into the control.
	 */
	setEditable(value) {
	}

	/**
	 * Indicates whether column headings are displayed.
	 */
	getShowColumnHeads() {
	}
	/**
	 * Indicates whether column headings are displayed.
	 */
	setShowColumnHeads(value) {
	}

	/**
	 * Indicates whether dragging and dropping is enabled for the control.
	 */
	isDragBehaviorEnabled() {
	}
	/**
	 * Indicates whether dragging and dropping is enabled for the control.
	 */
	setDragBehaviorEnabled(value) {
	}

	/**
	 * Specifies selection behavior when entering the control.
	 * True specifies that the selection remains unchanged from last time the control was active.
	 * False specifies that all the text in the control will be selected when entering the control.
	 */
	getEnterFieldBehavior() {
	}
	/**
	 * Specifies selection behavior when entering the control.
	 * True specifies that the selection remains unchanged from last time the control was active.
	 * False specifies that all the text in the control will be selected when entering the control.
	 */
	setEnterFieldBehavior(value) {
	}

	/**
	 * Specifies the basic unit used to extend a selection.
	 * True specifies that the basic unit is a single character.
	 * false specifies that the basic unit is a whole word.
	 */
	isAutoWordSelected() {
	}
	/**
	 * Specifies the basic unit used to extend a selection.
	 * True specifies that the basic unit is a single character.
	 * false specifies that the basic unit is a whole word.
	 */
	setAutoWordSelected(value) {
	}

	/**
	 * Indicates whether the user can select a line of text by clicking in the region to the left of the text.
	 */
	getSelectionMargin() {
	}
	/**
	 * Indicates whether the user can select a line of text by clicking in the region to the left of the text.
	 */
	setSelectionMargin(value) {
	}

	/**
	 * Gets and sets the value of the control.
	 */
	getValue() {
	}
	/**
	 * Gets and sets the value of the control.
	 */
	setValue(value) {
	}

	/**
	 * Indicates whether selected text in the control appears highlighted when the control does not have focus.
	 */
	getHideSelection() {
	}
	/**
	 * Indicates whether selected text in the control appears highlighted when the control does not have focus.
	 */
	setHideSelection(value) {
	}

	/**
	 * Gets and sets the width of the column.
	 */
	getColumnWidths() {
	}
	/**
	 * Gets and sets the width of the column.
	 */
	setColumnWidths(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Represents a command button.
 * @hideconstructor
 */
class CommandButtonActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	getCaption() {
	}
	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	setCaption(value) {
	}

	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	getPicturePosition() {
	}
	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	setPicturePosition(value) {
	}

	/**
	 * Gets and sets the data of the picture.
	 */
	getPicture() {
	}
	/**
	 * Gets and sets the data of the picture.
	 */
	setPicture(value) {
	}

	/**
	 * Gets and sets the accelerator key for the control.
	 */
	getAccelerator() {
	}
	/**
	 * Gets and sets the accelerator key for the control.
	 */
	setAccelerator(value) {
	}

	/**
	 * Inidcates whether the control takes the focus when clicked.
	 */
	getTakeFocusOnClick() {
	}
	/**
	 * Inidcates whether the control takes the focus when clicked.
	 */
	setTakeFocusOnClick(value) {
	}

	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	isWordWrapped() {
	}
	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	setWordWrapped(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Specifies the size of the arrowhead of the line.
 */
class CompoundType {
	/**
	 * Constructor.
	 * @param {Number} value - CompoundTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the size of the arrowhead of the line.
	 * The value of the property is CompoundTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the size of the arrowhead of the line.
	 * The value of the property is CompoundTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines when a connector reroutes.
 */
class ConFixedCode {
	/**
	 * Constructor.
	 */
	constructor(value) {
	}

	/**
	 * Determines when a connector reroutes.
	 * The value of the property is ConFixedCodeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines when a connector reroutes.
	 * The value of the property is ConFixedCodeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines whether a connector jumps when two connectors cross.
 */
class ConLineJumpCode {
	/**
	 * Constructor.
	 * @param {Number} value - ConLineJumpCodeValue
	 */
	constructor(value) {
	}

	/**
	 * Determines whether a connector jumps when two connectors cross.
	 * The value of the property is ConLineJumpCodeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines whether a connector jumps when two connectors cross.
	 * The value of the property is ConLineJumpCodeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines the line jump direction for line jumps occurring on a horizontal segment of a dynamic connector.
 */
class ConLineJumpDirX {
	/**
	 * Constructor.
	 * @param {Number} value - ConLineJumpDirXValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the line jump direction for line jumps occurring on a horizontal segment of a dynamic connector.
	 * The value of the property is ConLineJumpDirXValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the line jump direction for line jumps occurring on a horizontal segment of a dynamic connector.
	 * The value of the property is ConLineJumpDirXValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines the line jump direction for line jumps occurring on a vertical segment of a dynamic connector.
 */
class ConLineJumpDirY {
	/**
	 * Constructor.
	 * @param {Number} value - ConLineJumpDirYValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the line jump direction for line jumps occurring on a vertical segment of a dynamic connector.
	 * The value of the property is ConLineJumpDirYValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the line jump direction for line jumps occurring on a vertical segment of a dynamic connector.
	 * The value of the property is ConLineJumpDirYValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines the line jump style for line jumps on a dynamic connector.
 */
class ConLineJumpStyle {
	/**
	 * Constructor.
	 * @param {Number} value - ConLineJumpStyleValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the line jump style for line jumps on a dynamic connector.
	 * The value of the property is ConLineJumpStyleValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the line jump style for line jumps on a dynamic connector.
	 * The value of the property is ConLineJumpStyleValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines the appearance of a connector.
 */
class ConLineRouteExt {
	/**
	 * Constructor.
	 * @param {Number} value - ConLineRouteExtValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the appearance of a connector.
	 * The value of the property is ConLineRouteExtValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the appearance of a connector.
	 * The value of the property is ConLineRouteExtValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Represents a connection between two shapes in a drawing, such as a line and a box in an organization chart.
 */
class Connect {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The ID of the shape from which a connection or connections originate.
	 */
	getFromSheet() {
	}
	/**
	 * The ID of the shape from which a connection or connections originate.
	 */
	setFromSheet(value) {
	}

	/**
	 * The ID of the shape to which one or more connections are made
	 */
	getToSheet() {
	}
	/**
	 * The ID of the shape to which one or more connections are made
	 */
	setToSheet(value) {
	}

	/**
	 * The cell from which a connection is made.
	 */
	getFromCell() {
	}
	/**
	 * The cell from which a connection is made.
	 */
	setFromCell(value) {
	}

	/**
	 * The cell to which a connection is made.
	 */
	getToCell() {
	}
	/**
	 * The cell to which a connection is made.
	 */
	setToCell(value) {
	}

	/**
	 * The cell from which a connection originates.
	 * The value of the property is FromPartValue integer constant.
	 */
	getFromPart() {
	}
	/**
	 * The cell from which a connection originates.
	 * The value of the property is FromPartValue integer constant.
	 */
	setFromPart(value) {
	}

	/**
	 * The part of a shape to which a connection is made.
	 * The value of the property is ToPartValue integer constant.
	 */
	getToPart() {
	}
	/**
	 * The part of a shape to which a connection is made.
	 * The value of the property is ToPartValue integer constant.
	 */
	setToPart(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Connect collection.
 * @hideconstructor
 */
class ConnectCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Connect}
	 */
	get(index) {
	}

	/**
	 * Add the connect in the collection.
	 * @param {Connect} connect
	 * @return {Number}
	 */
	add(connect) {
	}

	/**
	 * Remove the connect from the collection.
	 * @param {Connect} connect
	 */
	remove(connect) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains elements for one connection point defined for the shape.
 */
class Connection {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies an x-coordinate on a shape in local coordinates.
	 */
	getX() {
	}

	/**
	 * Specifies a y-coordinate on a shape in local coordinates. Local coordinates are those whose frame of reference is the shape, instead of the page.
	 */
	getY() {
	}

	/**
	 * Specifies the x-component for the required alignment vector of a matching connection point. The DirX element is also used to orient the attached leg of a dynamic connector.
	 */
	getDirX() {
	}

	/**
	 * Specifies the y-component for the required alignment vector of a matching connection point. The DirY element is also used to orient the attached leg of a dynamic connector.
	 */
	getDirY() {
	}

	/**
	 * Specifies various types, based on the element in which it is contained.
	 */
	getType() {
	}

	/**
	 * Specifies if the connection point is generated automatically. A value of 1 indicates that the connection point is generated automatically.
	 */
	getAutoGen() {
	}

	/**
	 * Contains varying prompt information, based on the element in which it is contained.
	 */
	getPrompt() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * The ConnectionABCD element is an obsolete version of the Connection element and exists only for backward compatibility.
 */
class ConnectionABCD {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies an x-coordinate on a shape in local coordinates. The following table describes the X element based on the element that contains it.
	 */
	getX() {
	}

	/**
	 * Specifies a y-coordinate on a shape in local coordinates. Local coordinates are those whose frame of reference is the shape, instead of the page.
	 */
	getY() {
	}

	/**
	 * Represents different information depending on its parent element.
	 */
	getA() {
	}

	/**
	 * Represents different information depending on its parent element.
	 */
	getB() {
	}

	/**
	 * Represents different information based on its parent element.
	 */
	getC() {
	}

	/**
	 * Represents different information based on its parent element.
	 */
	getD() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * ConnectionABCD collection.
 * @hideconstructor
 */
class ConnectionABCDCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {ConnectionABCD}
	 */
	get(index) {
	}

	/**
	 * Add the ConnectionABCD object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the ConnectionABCD object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Connection collection.
 * @hideconstructor
 */
class ConnectionCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Connection}
	 */
	get(index) {
	}

	/**
	 * Add the Connection object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Connection object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents connector rule between two shapes with a connector,Including which connection point of which shape it starts from, the end shape and its connection point.
 * @hideconstructor
 */
class ConnectorRule {
	/**
	 * The shape from which a connection is made.
	 */
	getStartShapeId() {
	}

	/**
	 * The shape's connection from which a connection is made.
	 */
	getStartShapeConnection() {
	}

	/**
	 * The shape's connection to which a connection is made.
	 */
	getEndShapeConnection() {
	}

	/**
	 * The shape to which a connection is made.
	 */
	getEndShapeId() {
	}

}

/**
 * Contains elements for the x- and y-coordinates of each control handle defined for a shape, and elements that specify the way the control handle should behave.
 */
class Control {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate that indicates the location of a shape's control handle.
	 */
	getX() {
	}
	/**
	 * The x-coordinate that indicates the location of a shape's control handle.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate that indicates the location of a shape's control handle.
	 */
	getY() {
	}
	/**
	 * The y-coordinate that indicates the location of a shape's control handle.
	 */
	setY(value) {
	}

	/**
	 * Specifies the x-coordinate for a control handle's anchor point in local coordinates. The anchor point is used for rubber-banding during dynamics.
	 */
	getXDyn() {
	}
	/**
	 * Specifies the x-coordinate for a control handle's anchor point in local coordinates. The anchor point is used for rubber-banding during dynamics.
	 */
	setXDyn(value) {
	}

	/**
	 * Specifies the y-coordinate for a control handle's anchor point in local coordinates. The anchor point is used for rubber-banding during dynamics.
	 */
	getYDyn() {
	}
	/**
	 * Specifies the y-coordinate for a control handle's anchor point in local coordinates. The anchor point is used for rubber-banding during dynamics.
	 */
	setYDyn(value) {
	}

	/**
	 * Specifies the type of behavior the x-coordinate of the control handle exhibits after the handle is moved.
	 */
	getXCon() {
	}
	/**
	 * Specifies the type of behavior the x-coordinate of the control handle exhibits after the handle is moved.
	 */
	setXCon(value) {
	}

	/**
	 * Specifies the type of behavior the x-coordinate of the control handle exhibits after the handle is moved.
	 */
	getYCon() {
	}
	/**
	 * Specifies the type of behavior the x-coordinate of the control handle exhibits after the handle is moved.
	 */
	setYCon(value) {
	}

	/**
	 * Determines whether a control handle can be glued to other shapes.
	 */
	canGlue() {
	}
	/**
	 * Determines whether a control handle can be glued to other shapes.
	 */
	setCanGlue(value) {
	}

	/**
	 * Prompt element specifies descriptive text that appears as a tool tip when the mouse pointer is paused over a shape's control handle.
	 */
	getPrompt() {
	}
	/**
	 * Prompt element specifies descriptive text that appears as a tool tip when the mouse pointer is paused over a shape's control handle.
	 */
	setPrompt(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Control collection.
 * @hideconstructor
 */
class ControlCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Control}
	 */
	get(index) {
	}

	/**
	 * Add the Control object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Control object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Gets the element at the specified index IX.
	 * @param {Number} IX
	 * @return {Control}
	 */
	getControl(IX) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID
	 * @return {Control}
	 */
	getControlFromId(ID) {
	}

	/**
	 * Gets the element at the specified name.
	 * @param {String} name
	 * @return {Control}
	 */
	getControlFromName(name) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies the type of behavior the x or y-coordinate of the control handle exhibits after the handle is moved.
 */
class ConType {
	/**
	 * Constructor.
	 * @param {Number} value - ConValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of behavior the x or y-coordinate of the control handle exhibits after the handle is moved.
	 * The value of the property is ConValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of behavior the x or y-coordinate of the control handle exhibits after the handle is moved.
	 * The value of the property is ConValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Abstract class for the x- and y-coordinates.
 * @hideconstructor
 */
class Coordinate {
	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Coordinate collection.
 * @hideconstructor
 */
class CoordinateCollection {
	/**
	 * Contains the x- and y-coordinates of the first vertex of a shape, or contains the x- and y-coordinates of the first vertex after a break in a path.
	 */
	getMoveToCol() {
	}

	/**
	 * Contains x- and y-coordinates of the ending vertex of a straight line segment. These coordinates are contained in the X and Y elements, respectively.
	 */
	getLineToCol() {
	}

	/**
	 * Contains the x- and y-coordinates and bow of a circular arc represented respectively by the X, Y, and A elements.
	 */
	getArcToCol() {
	}

	/**
	 * Contains elements specifying the x- and y-coordinates of two points on an infinite line. The X and Y elements specify the x- and y-coordinates of the first point, and the A and B elements specify the x- and y-coordinates of the second point.
	 */
	getInfiniteLineCol() {
	}

	/**
	 * Contains elements specifying the x- and y-coordinates of the ellipse's center point and two points on the ellipse.
	 */
	getEllipseCol() {
	}

	/**
	 * Contains elements that specify information about an elliptical arc.
	 */
	getEllipticalArcToCol() {
	}

	/**
	 * Contains x- and y-coordinates for a spline's second control point, its second knot, its first knot, the last knot, and the degree of the spline. This information is contained in the X, Y, A, B, C, and D elements, respectively.
	 */
	getSplineStartCol() {
	}

	/**
	 * Contains x- and y-coordinates for a spline's control point and a spline's knot, represented by the X, Y, and A elements, respectively.
	 */
	getSplineKnotCol() {
	}

	/**
	 * Contains x- and y-coordinates of the last point of a polyline and a polyline formula. The coordinates are specified in the X and Y elements, and the formula is specified in the A element.
	 */
	getPolylineToCol() {
	}

	/**
	 * Contains the x- and y-coordinates, position of the second to last knot, position of the last weight, position of the first knot, position of the first weight, and the formula for a nonuniform rational B-spline (NURBS). This information is specified in the X, Y, A, B, C, D, and E elements, respectively.
	 */
	getNURBSToCol() {
	}

	/**
	 * Contains x- and y-coordinates for a RelCubBezTo's points.Coordinates are specified as relative coordinates.
	 */
	getRelCubBezToCol() {
	}

	/**
	 * Contains x- and y-coordinates for a RelQuadBezTo's points.Coordinates are specified as relative coordinates.
	 */
	getRelQuadBezToCol() {
	}

	/**
	 * Contains the x- and y-coordinates of the first vertex of a shape, or contains the x- and y-coordinates of the first vertex after a break in a path.Coordinates are specified as relative coordinates.
	 */
	getRelMoveToCol() {
	}

	/**
	 * Contains x- and y-coordinates of the ending vertex of a straight line segment. These coordinates are contained in the X and Y elements, respectively.Coordinates are specified as relative coordinates.
	 */
	getRelLineToCol() {
	}

	/**
	 * Contains elements that specify information about an elliptical arc.Coordinates are specified as relative coordinates.
	 */
	getRelEllipticalArcToCol() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @return {Coordinate}
	 */
	get(index) {
	}

	/**
	 * Add the Coordinate object in the collection.
	 */
	add(item) {
	}

	/**
	 * Remove the Coordinate object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the MoveTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the MoveTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the LineTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the LineTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the ArcTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the ArcTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the InfiniteLine object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the InfiniteLine object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the Ellipse object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Ellipse object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the EllipticalArcTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the EllipticalArcTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the SplineStart object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the SplineStart object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the SplineKnot object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the SplineKnot object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the PolylineTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the PolylineTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the NURBSTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the NURBSTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the RelCubBezTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the RelCubBezTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the RelQuadBezTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the RelQuadBezTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the RelMoveTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the RelMoveTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the RelLineTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the RelLineTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Add the RelEllipticalArcTo object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the RelEllipticalArcTo object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Marks the beginning of a character properties run that is formatted according to the corresponding Char element. The run is defined to the end of the text or until the next
 */
class Cp {
	/**
	 * Constructor
	 * @param {Number} IX - The Char element index that this property run represents.
	 */
	constructor(IX) {
	}

	/**
	 * Value
	 */
	getValue() {
	}

}

/**
 * CustomProp structure.
 */
class CustomProp {
	/**
	 */
	constructor() {
	}

	/**
	 * The name of the custom property.
	 */
	getName() {
	}
	/**
	 * The name of the custom property.
	 */
	setName(value) {
	}

	/**
	 * The data type of the custom property.
	 * The value of the property is PropType integer constant.
	 */
	getPropType() {
	}
	/**
	 * The data type of the custom property.
	 * The value of the property is PropType integer constant.
	 */
	setPropType(value) {
	}

	/**
	 * Value of property.
	 */
	getCustomValue() {
	}
	/**
	 * Value of property.
	 */
	setCustomValue(value) {
	}

}

/**
 * CustomProps collection.
 */
class CustomPropCollection {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at specified index.
	 * @param {Number} index
	 * @return {CustomProp}
	 */
	get(index) {
	}

	/**
	 * Add the CustomProp object in the collection.
	 * @param {CustomProp} customProp
	 * @return {Number}
	 */
	add(customProp) {
	}

	/**
	 * Remove the CustomProp object from the collection.
	 * @param {CustomProp} customProp
	 */
	remove(customProp) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Value of property.
 */
class CustomValue {
	/**
	 */
	constructor() {
	}

	/**
	 * String value.
	 */
	getValueString() {
	}
	/**
	 * String value.
	 */
	setValueString(value) {
	}

	/**
	 * Boolean value.
	 */
	getValueBool() {
	}
	/**
	 * Boolean value.
	 */
	setValueBool(value) {
	}

	/**
	 * Date and time value.
	 */
	getValueDate() {
	}

	/**
	 * Number value.
	 */
	getValueNumber() {
	}
	/**
	 * Number value.
	 */
	setValueNumber(value) {
	}

}

/**
 * Defines how a data column appears in the External Data window in the Visio user interface and qualifies the data in the column by defining its data type and formatting.
 */
class DataColumn {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * External name of the data column. Appears in the headings in the External Data window and in labels in data graphics.
	 */
	getColumnNameID() {
	}
	/**
	 * External name of the data column. Appears in the headings in the External Data window and in labels in data graphics.
	 */
	setColumnNameID(value) {
	}

	/**
	 * Internal name of the data column. Used as the row name for the shape-data item (custom property) added to a shape when the shape is linked to a data row.
	 */
	getName() {
	}
	/**
	 * Internal name of the data column. Used as the row name for the shape-data item (custom property) added to a shape when the shape is linked to a data row.
	 */
	setName(value) {
	}

	/**
	 * Label of the data column.
	 */
	getLabel() {
	}
	/**
	 * Label of the data column.
	 */
	setLabel(value) {
	}

	/**
	 * Column label returned to Visio by the underlying ADO interface.
	 */
	getOrigLabel() {
	}
	/**
	 * Column label returned to Visio by the underlying ADO interface.
	 */
	setOrigLabel(value) {
	}

	/**
	 * The language ID of the data column
	 */
	getLangID() {
	}
	/**
	 * The language ID of the data column
	 */
	setLangID(value) {
	}

	/**
	 * Calendar ID of the data column.
	 */
	getCalendar() {
	}
	/**
	 * Calendar ID of the data column.
	 */
	setCalendar(value) {
	}

	/**
	 * Type of the data in the data column.
	 */
	getDataType() {
	}
	/**
	 * Type of the data in the data column.
	 */
	setDataType(value) {
	}

	/**
	 * Unit type of the data in the data column.
	 */
	getUnitType() {
	}
	/**
	 * Unit type of the data in the data column.
	 */
	setUnitType(value) {
	}

	/**
	 * Currency ID of the data column.
	 */
	getCurrency() {
	}
	/**
	 * Currency ID of the data column.
	 */
	setCurrency(value) {
	}

	/**
	 * Specifies the degree (power) of the units, for example squared, or cubed. The default (attribute absent) is 1.
	 */
	getDegree() {
	}
	/**
	 * Specifies the degree (power) of the units, for example squared, or cubed. The default (attribute absent) is 1.
	 */
	setDegree(value) {
	}

	/**
	 * Width of the data column in the External Data window.
	 */
	getDisplayWidth() {
	}
	/**
	 * Width of the data column in the External Data window.
	 */
	setDisplayWidth(value) {
	}

	/**
	 * Defines the display position of the data column in the External Data window, from the left-most column (0) to the right-most column (largest value).
	 */
	getDisplayOrder() {
	}
	/**
	 * Defines the display position of the data column in the External Data window, from the left-most column (0) to the right-most column (largest value).
	 */
	setDisplayOrder(value) {
	}

	/**
	 * Specifies whether the column is visible in the External Data window. True (1) for the column to be visible; false (0) for the column not to be visible. The default (attribute absent) is for the column to be visible.
	 * The value of the property is BOOL integer constant.
	 */
	getMapped() {
	}
	/**
	 * Specifies whether the column is visible in the External Data window. True (1) for the column to be visible; false (0) for the column not to be visible. The default (attribute absent) is for the column to be visible.
	 * The value of the property is BOOL integer constant.
	 */
	setMapped(value) {
	}

	/**
	 * Whether the data column creates a hyperlink in a shape when the shape is linked to data.
	 * The value of the property is BOOL integer constant.
	 */
	getHyperlink() {
	}
	/**
	 * Whether the data column creates a hyperlink in a shape when the shape is linked to data.
	 * The value of the property is BOOL integer constant.
	 */
	setHyperlink(value) {
	}

}

/**
 * DataColumn collection.
 * @hideconstructor
 */
class DataColumnCollection {
	/**
	 * The column on which to sort the data.
	 */
	getSortColumn() {
	}
	/**
	 * The column on which to sort the data.
	 */
	setSortColumn(value) {
	}

	/**
	 * Whether to sort the SortColumn column in ascending (1) or descending (0) order.
	 * The value of the property is BOOL integer constant.
	 */
	getSortAsc() {
	}
	/**
	 * Whether to sort the SortColumn column in ascending (1) or descending (0) order.
	 * The value of the property is BOOL integer constant.
	 */
	setSortAsc(value) {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {DataColumn}
	 */
	get(index) {
	}

	/**
	 * Add the dataColumn in the collection.
	 * @param {DataColumn} dataColumn
	 * @return {Number}
	 */
	add(dataColumn) {
	}

	/**
	 * Remove the dataColumn from the collection.
	 * @param {DataColumn} dataColumn
	 */
	remove(dataColumn) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Abstracts communication between one or more DataRecordset elements and a non-XML data source.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("EditDataConAndRefreshRecords.vsd");
 * // set connecting string
 * diagram.getDataConnections().get(0).setConnectionString("Data Source=MyServer;Initial Catalog=MyDB;Integrated Security=True");
 * // set command
 * diagram.getDataConnections().get(0).setCommand("SELECT * from Project with(nolock)");
 * diagram.save("out-EditDataConAndRefreshRecords.vdx", aspose.diagram.SaveFileFormat.VDX);
 */
class DataConnection {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The ID assigned by Visio for a given connection, unique within the document.
	 */
	getID() {
	}
	/**
	 * The ID assigned by Visio for a given connection, unique within the document.
	 */
	setID(value) {
	}

	/**
	 * The name of the connection file. See Remarks for more information.
	 */
	getFileName() {
	}
	/**
	 * The name of the connection file. See Remarks for more information.
	 */
	setFileName(value) {
	}

	/**
	 * The connection string that defines the parameters necessary to connect to a data source.
	 */
	getConnectionString() {
	}
	/**
	 * The connection string that defines the parameters necessary to connect to a data source.
	 */
	setConnectionString(value) {
	}

	/**
	 * The command string used to query the data source.
	 */
	getCommand() {
	}
	/**
	 * The command string used to query the data source.
	 */
	setCommand(value) {
	}

	/**
	 * wait time in minutes while trying to establish a connection before terminating the attempt.
	 */
	getTimeout() {
	}
	/**
	 * wait time in minutes while trying to establish a connection before terminating the attempt.
	 */
	setTimeout(value) {
	}

	/**
	 * The default value is false. See Remarks for more information.
	 * The value of the property is BOOL integer constant.
	 */
	getAlwaysUseConnectionFile() {
	}
	/**
	 * The default value is false. See Remarks for more information.
	 * The value of the property is BOOL integer constant.
	 */
	setAlwaysUseConnectionFile(value) {
	}

}

/**
 * DataConnection collection.
 * @hideconstructor
 */
class DataConnectionCollection {
	/**
	 * The next available ID for new connections.
	 */
	getNextID() {
	}
	/**
	 * The next available ID for new connections.
	 */
	setNextID(value) {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {DataConnection}
	 */
	get(index) {
	}

	/**
	 * Add the dataConnection in the collection.
	 * @param {DataConnection} dataConnection
	 * @return {Number}
	 */
	add(dataConnection) {
	}

	/**
	 * Remove the dataConnection from the collection.
	 * @param {DataConnection} dataConnection
	 */
	remove(dataConnection) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {long} ID - ID of DataConnection
	 * @return {DataConnection} DataConnection DataConnection.
	 */
	getDataConnection(ID) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Stores, formats, refreshes, and exposes data queried from a database in Microsoft Visio.
 */
class DataRecordSet {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The data recordset ID, unique within the document.
	 */
	getID() {
	}
	/**
	 * The data recordset ID, unique within the document.
	 */
	setID(value) {
	}

	/**
	 * The connection ID for the associated DataConnection object. Does not exist for XML data sources.
	 */
	getConnectionID() {
	}
	/**
	 * The connection ID for the associated DataConnection object. Does not exist for XML data sources.
	 */
	setConnectionID(value) {
	}

	/**
	 * The command string used to query data from the data source.
	 */
	getCommand() {
	}
	/**
	 * The command string used to query data from the data source.
	 */
	setCommand(value) {
	}

	/**
	 * Options to apply to the data recordset. Possible values can be any combination of one or more of those shown in the following table.
	 * The value of the property is OptionsValue integer constant.
	 */
	getOptions() {
	}
	/**
	 * Options to apply to the data recordset. Possible values can be any combination of one or more of those shown in the following table.
	 * The value of the property is OptionsValue integer constant.
	 */
	setOptions(value) {
	}

	/**
	 * The date and time the data recordset was last refreshed.
	 */
	getTimeRefreshed() {
	}

	/**
	 * The next available Visio row ID.
	 */
	getNextRowID() {
	}
	/**
	 * The next available Visio row ID.
	 */
	setNextRowID(value) {
	}

	/**
	 * The display (or "friendly") name of the data recordset.
	 */
	getName() {
	}
	/**
	 * The display (or "friendly") name of the data recordset.
	 */
	setName(value) {
	}

	/**
	 * Whether to use the order of the rows in the data recordset as the primary key. True (1) if row IDs are determined by row order. False (0) if row IDs are determined by values in the primary key column(s) of the data recordset.
	 * The value of the property is BOOL integer constant.
	 */
	getRowOrder() {
	}
	/**
	 * Whether to use the order of the rows in the data recordset as the primary key. True (1) if row IDs are determined by row order. False (0) if row IDs are determined by values in the primary key column(s) of the data recordset.
	 * The value of the property is BOOL integer constant.
	 */
	setRowOrder(value) {
	}

	/**
	 * Whether to overwrite user changes to shape data items in shapes linked to data when the data recordset is refreshed.
	 * The value of the property is BOOL integer constant.
	 */
	getRefreshOverwriteAll() {
	}
	/**
	 * Whether to overwrite user changes to shape data items in shapes linked to data when the data recordset is refreshed.
	 * The value of the property is BOOL integer constant.
	 */
	setRefreshOverwriteAll(value) {
	}

	/**
	 * Whether the data-reconciliation user interface should be disabled. True (1) to disable the user interface (UI). False (0) to enable the UI.
	 * The value of the property is BOOL integer constant.
	 */
	getRefreshNoReconciliationUI() {
	}
	/**
	 * Whether the data-reconciliation user interface should be disabled. True (1) to disable the user interface (UI). False (0) to enable the UI.
	 * The value of the property is BOOL integer constant.
	 */
	setRefreshNoReconciliationUI(value) {
	}

	/**
	 * How often (in minutes) Visio refreshes the data recordset automatically. This value must be 1 or larger.
	 */
	getRefreshInterval() {
	}
	/**
	 * How often (in minutes) Visio refreshes the data recordset automatically. This value must be 1 or larger.
	 */
	setRefreshInterval(value) {
	}

	/**
	 * Defines how shape-data links are treated when shapes are copied or cut. 1 to replace existing links in the target shape. 0 to maintain existing links in the target shape. If this attribute is absent, Visio asks the user whether to replace links on copy or cut.
	 */
	getReplaceLinks() {
	}
	/**
	 * Defines how shape-data links are treated when shapes are copied or cut. 1 to replace existing links in the target shape. 0 to maintain existing links in the target shape. If this attribute is absent, Visio asks the user whether to replace links on copy or cut.
	 */
	setReplaceLinks(value) {
	}

	/**
	 * A checksum value, generated by Visio, and based on data-recordset properties. Set this attribute to 0; Visio recalculates this value at runtime.
	 */
	getChecksum() {
	}
	/**
	 * A checksum value, generated by Visio, and based on data-recordset properties. Set this attribute to 0; Visio recalculates this value at runtime.
	 */
	setChecksum(value) {
	}

	/**
	 * Contains XML that conforms to the ADO classic XML schema for an ADO recordset and that describes the data in the data recordset.
	 */
	getADOData() {
	}
	/**
	 * Contains XML that conforms to the ADO classic XML schema for an ADO recordset and that describes the data in the data recordset.
	 */
	setADOData(value) {
	}

	/**
	 * Identifies one or more primary-key columns in the data recordset.
	 */
	getPrimaryKeys() {
	}

	/**
	 * Indicates a row in the data recordset linked to a shape that is in conflict after the data recordset is refreshed.
	 * RowID - Indicates a row in the data recordset linked to a shape that is in conflict after the data recordset is refreshed.
	 * ShapeID - Shape ID of the shape involved in the conflict.
	 * PageID - Page ID of the shape involved in the conflict.
	 */
	getRefreshConflicts() {
	}

	/**
	 * Maps a data-recordset row to a shape.
	 * RowID - Row ID of the row, unique within the data recordset.
	 * ShapeID - Shape ID of the shape linked to data in the data-recordset row identified by RowID.
	 * PageID - Page ID of the shape linked to data in the data-recordset row identified by RowID.
	 */
	getRowMaps() {
	}

	/**
	 * Defines a rule that compares a column in the parent DataRecordset element with a shape data item from the last successful automatic linking action performed in the user interface.
	 */
	getAutoLinkComparison() {
	}

	/**
	 * Contains all the DataColumn elements in a data recordset.
	 */
	getDataColumns() {
	}

	/**
	 * Executes the query string associated with the connected (non-XML-based) DataRecordset and updates linked shapes with new data from the data source returned by the query.
	 * @param {Number} connectionType - DataConnectionType
	 */
	refresh(connectionType) {
	}

}

/**
 * DataRecordSet collection.
 * @hideconstructor
 */
class DataRecordSetCollection {
	/**
	 * NextID
	 */
	getNextId() {
	}
	/**
	 * NextID
	 */
	setNextId(value) {
	}

	/**
	 * ActiveRecordsetID
	 */
	getActiveRecordsetId() {
	}
	/**
	 * ActiveRecordsetID
	 */
	setActiveRecordsetId(value) {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {DataRecordSet}
	 */
	get(index) {
	}

	/**
	 * Add the dataRecordSet in the collection.
	 * @param {DataRecordSet} dataRecordSet
	 * @return {Number}
	 */
	add(dataRecordSet) {
	}

	/**
	 * Remove the dataRecordSet from the collection.
	 * @param {DataRecordSet} dataRecordSet
	 */
	remove(dataRecordSet) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Date and time value.
 * @hideconstructor
 */
class DateValue {
	/**
	 * Date and time value.
	 */
	getValue() {
	}

	/**
	 * Attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Root element of Visio objects hierarchy.
 * @exampleThe following example creates a diagram from a file and saves it to another file.
 * //Use Aspose.Diagram for Node.js via Java
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * var diagram = new aspose.diagram.Diagram("example.vsdx");
 * diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class Diagram {
	/**
	 */
	constructor() {
	}
	/**
	 * Public class constructor,
	 * loads the diagram from the file.
	 * @param {String} filename - The file name.
	 */
	constructor_overload$1(filename) {
	}
	/**
	 * Public class constructor,
	 * loads the diagram from the file using predefined format.
	 * @param {String} filename - The file name.
	 * @param {Number} format - LoadFileFormat
	 */
	constructor_overload$2(filename, format) {
	}
	/**
	 * Public class constructor,
	 * loads the diagram from the file using predefined load file options.
	 * @param {String} filename - The file name.
	 * @param {LoadOptions} options - The data
	 */
	constructor_overload$3(filename, options) {
	}

	/**
	 * Indicates whether the document has been modified outside of Visio.
	 * If present, Visio will fully test the contents of the file. Omit for files you create outside of Visio.
	 */
	getStart() {
	}
	/**
	 * Indicates whether the document has been modified outside of Visio.
	 * If present, Visio will fully test the contents of the file. Omit for files you create outside of Visio.
	 */
	setStart(value) {
	}

	/**
	 * Indicates the Fonts folder path
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fontDirs = ["C:\\MyFonts\\", "D:\\Misc\\Fonts\\"];
	 * diagram = new aspose.diagram.Diagram("SpecifyFontLocation.vsdx");
	 * // setting the custom font directories
	 * diagram.setFontDirs(fontDirs);
	 * // saving Visio diagram in PDF format
	 * diagram.save("out-SpecifyFontLocation.pdf", aspose.diagram.SaveFileFormat.PDF);
	 */
	setFontDirs(value) {
	}

	/**
	 * Indicates whether the document has been modified outside of Visio. If present, Visio will fully test the contents of the file. Omit for files you create outside of Visio.
	 */
	getKey() {
	}
	/**
	 * Indicates whether the document has been modified outside of Visio. If present, Visio will fully test the contents of the file. Omit for files you create outside of Visio.
	 */
	setKey(value) {
	}

	/**
	 * Whether to use metric units in the drawing. Set this attribute to True (1) to use metric units; set it to False (0) to use English units.
	 * The value of the property is BOOL integer constant.
	 */
	getMetric() {
	}
	/**
	 * Whether to use metric units in the drawing. Set this attribute to True (1) to use metric units; set it to False (0) to use English units.
	 * The value of the property is BOOL integer constant.
	 */
	setMetric(value) {
	}

	/**
	 * The build number of the Visio instance used to create the document.
	 */
	getBuildnum() {
	}
	/**
	 * The build number of the Visio instance used to create the document.
	 */
	setBuildnum(value) {
	}

	/**
	 * The version number of the Visio instance. Microsoft Visio 2010 = 14.
	 */
	getVersion() {
	}
	/**
	 * The version number of the Visio instance. Microsoft Visio 2010 = 14.
	 */
	setVersion(value) {
	}

	/**
	 * The unique ID of the user-interface language the user has specified in Microsoft Office 2010 Language Preferences.
	 */
	getDocLangID() {
	}
	/**
	 * The unique ID of the user-interface language the user has specified in Microsoft Office 2010 Language Preferences.
	 */
	setDocLangID(value) {
	}

	/**
	 * Collection StyleSheet objects.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("ApplyCustomStyleSheets.vsd");
	 * sourceShape = null;
	 * // get page by name
	 * page = diagram.getPages().getPage("Flow 1");
	 * // Find the shape that you want to apply style to
	 * for (it = page.getShapes().iterator(); it.hasNext();) {
	 * shape = it.next();
	 * if (shape.getName() == "Process") {
	 * sourceShape = shape;
	 * break;
	 * }
	 * }
	 * customStyleSheet = null;
	 * // Find the required style sheet
	 * for (it = diagram.getStyleSheets().iterator(); it.hasNext();) {
	 * styleSheet = it.next();
	 * if (styleSheet.getName() == "Callout") {
	 * customStyleSheet = styleSheet;
	 * break;
	 * }
	 * }
	 * if (sourceShape != null && customStyleSheet != null) {
	 * // Apply text style
	 * sourceShape.setTextStyle(customStyleSheet);
	 * // Apply fill style
	 * sourceShape.setFillStyle(customStyleSheet);
	 * // Apply line style
	 * sourceShape.setLineStyle(customStyleSheet);
	 * }
	 * diagram.save("out-ApplyCustomStyleSheets.vdx", aspose.diagram.SaveFileFormat.VDX);
	 */
	getStyleSheets() {
	}

	/**
	 * Collection Master objects.
	 */
	getMasters() {
	}

	/**
	 * Collection Page objects.
	 */
	getPages() {
	}

	/**
	 * Contains document property elements such as the document's title, author, and so on.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Introduction.vsdx");
	 * // Display Visio version and document modification time at different stages
	 * console.log("Visio Instance Version : " + diagram.getVersion());
	 * console.log("Full Build Number Created : " + diagram.getDocumentProps().getBuildNumberCreated());
	 * console.log("Full Build Number Edited : " + diagram.getDocumentProps().getBuildNumberEdited());
	 * console.log("Date Created : " + diagram.getDocumentProps().getTimeCreated());
	 * console.log("Date Last Edited : " + diagram.getDocumentProps().getTimeEdited());
	 * console.log("Date Last Printed : " + diagram.getDocumentProps().getTimePrinted());
	 * console.log("Date Last Saved : " + diagram.getDocumentProps().getTimeSaved());
	 */
	getDocumentProps() {
	}

	/**
	 * Contains elements that specify document settings.
	 */
	getDocumentSettings() {
	}

	/**
	 * Contains the document's color table. Each document contains a single color table,
	 * which lists the 24 standard colors that are available for application to objects
	 * such as shapes, text, and layers in the document.
	 */
	getColors() {
	}

	/**
	 * Contains a collection of Font elements
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveFontInfo.vsd");
	 * fonts = diagram.getFonts();
	 * for (var it = fonts.iterator(); it.hasNext();) {
	 * font = it.next();
	 * // Display information about the fonts
	 * console.log(font.getName());
	 * }
	 */
	getFonts() {
	}

	/**
	 * Specifies a document's ShapeSheet structure.
	 */
	getDocumentSheet() {
	}

	/**
	 * Specifies the active page
	 */
	getActivePage() {
	}

	/**
	 * Contains the Window elements for a document.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("TextBoxes.vsdx");
	 * // iterate through the window elements
	 * for (it = diagram.getWindows().iterator(); it.hasNext();) {
	 * window = it.next();
	 * console.log("ID: " + window.getID());
	 * console.log("Type: " + window.getWindowType());
	 * console.log("Window height: " + window.getWindowHeight());
	 * console.log("Window width: " + window.getWindowWidth());
	 * console.log("Window state: " + window.getWindowState());
	 * }
	 */
	getWindows() {
	}

	/**
	 * Contains an EventItem element for each event to which an object should respond.
	 */
	getEventItems() {
	}

	/**
	 * Contains elements for a document's header and footer.
	 */
	getHeaderFooter() {
	}

	/**
	 * Contains the Microsoft Visual Basic for Applications project data in MIME (Multipurpose Internet Mail Extensions) encoded format.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Macro.vsdm");
	 * // remove all macros
	 * diagram.setVbProjectData(null);
	 * // save the Visio diagram
	 * diagram.save("out-RemoveMacros.vssm", aspose.diagram.SaveFileFormat.VSSM);
	 */
	getVbProjectData() {
	}
	/**
	 * Contains the Microsoft Visual Basic for Applications project data in MIME (Multipurpose Internet Mail Extensions) encoded format.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Macro.vsdm");
	 * // remove all macros
	 * diagram.setVbProjectData(null);
	 * // save the Visio diagram
	 * diagram.save("out-RemoveMacros.vssm", aspose.diagram.SaveFileFormat.VSSM);
	 */
	setVbProjectData(value) {
	}

	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded MAPI e-mail routing slip for the document.
	 */
	getEmailRoutingData() {
	}
	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded MAPI e-mail routing slip for the document.
	 */
	setEmailRoutingData(value) {
	}

	/**
	 * Contains the DataConnection elements for the document.
	 */
	getDataConnections() {
	}

	/**
	 * The collection of DataRecordset objects associated with a Document object.
	 */
	getDataRecordSets() {
	}

	/**
	 * The Ribbon XML string that is passed to the document to customize the ribbon user interface.
	 */
	getRibbonX() {
	}
	/**
	 * The Ribbon XML string that is passed to the document to customize the ribbon user interface.
	 */
	setRibbonX(value) {
	}

	/**
	 * The Ribbon XML string that is passed to the document to customize the Quick Access toolbar or the ribbon.
	 */
	getUserCustomUI() {
	}
	/**
	 * The Ribbon XML string that is passed to the document to customize the Quick Access toolbar or the ribbon.
	 */
	setUserCustomUI(value) {
	}

	/**
	 * Stores information about diagram validation for the document.
	 */
	getValidation() {
	}

	/**
	 * XML value.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("SolutionXML.vsdx");
	 * // iterate through SolutionXML elements
	 * for (it = diagram.getSolutionXMLs().iterator(); it.hasNext();) {
	 * solutionXML = it.next();
	 * // get name property
	 * console.log(solutionXML.getName());
	 * // get xml value
	 * console.log(solutionXML.getXmlValue());
	 * }
	 */
	getSolutionXMLs() {
	}

	/**
	 * Gets the VbaProjectVbaProject.
	 */
	getVbaProject() {
	}

	/**
	 * Gets and sets the interrupt monitor.
	 */
	getInterruptMonitor() {
	}
	/**
	 * Gets and sets the interrupt monitor.
	 */
	setInterruptMonitor(value) {
	}

	/**
	 * Saves the diagram data to the file.
	 * @param {String} filename - The file name.
	 * @param {Number} format - SaveFileFormat
	 */
	save(filename, format) {
	}

	/**
	 * Save the diagram to the stream.
	 * @param {OutputStream} stream - The file stream.
	 * @param {SaveOptions} saveOptions - The save options.
	 */
	save(stream, saveOptions) {
	}

	/**
	 * Saves the document to a file using the specified save options.
	 * @param {String} filename - The file name.
	 * @param {SaveOptions} options - SaveOptions
	 */
	save(filename, options) {
	}

	/**
	 * Performs application-defined tasks associated with freeing, releasing, or
	 * resetting unmanaged resources.
	 */
	dispose() {
	}

	/**
	 * Copies Theme from a source Diagram.
	 * @param {Diagram} source - source diagram.
	 */
	copyTheme(source) {
	}

	/**
	 * Combines another Diagram object.
	 * @param {Diagram} secondDiagram - Another Diagram object.
	 */
	combine(secondDiagram) {
	}

	/**
	 * Lays out the shapes and/or reroutes the connectors for all pages of diagram.
	 * @param {LayoutOptions} options - Using the
	 */
	layout(options) {
	}

	/**
	 * Adds master to diagram from source diagram by master's Name or NameU.
	 * @param {Diagram} srcDiagram - source diagram.
	 * @param {String} masterName - Master's Name or NameU.
	 * @return {Number} The unique ID of the master within masters collection in this diagram.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram();
	 * templateFileName = "NetApp-FAS-series.vss";
	 * // Add master with stencil file path and master id
	 * masterName = "FAS80xx rear empty";
	 * diagram.addMaster(templateFileName, 2);
	 * // Add master with stencil file path and master name
	 * diagram.addMaster(templateFileName, masterName);
	 * // adds master to diagram from source diagram
	 * src = new aspose.diagram.Diagram(templateFileName);
	 * diagram.addMaster(src, masterName);
	 * // Adds shape with defined PinX and PinY.
	 * diagram.addShape(2.0, 2.0, masterName, 0);
	 * diagram.addShape(6.0, 6.0, masterName, 0);
	 * // Adds shape with defined PinX,PinY,Width and Height.
	 * diagram.addShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
	 * // Save resultant Image file
	 * diagram.save("out-AddMasterFromStencil.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addMaster(srcDiagram, masterName) {
	}

	/**
	 * Adds master to diagram from template file by master's Name or NameU.
	 * @param {String} templateFilePath - Path to template file(can be vdx, vst or vsd format).
	 * @param {String} masterName - Master's Name or NameU.
	 * @return {Number} The unique ID of the master within masters collection in this diagram.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram();
	 * templateFileName = "NetApp-FAS-series.vss";
	 * // Add master with stencil file path and master id
	 * masterName = "FAS80xx rear empty";
	 * diagram.addMaster(templateFileName, 2);
	 * // Add master with stencil file path and master name
	 * diagram.addMaster(templateFileName, masterName);
	 * // adds master to diagram from source diagram
	 * src = new aspose.diagram.Diagram(templateFileName);
	 * diagram.addMaster(src, masterName);
	 * // Adds shape with defined PinX and PinY.
	 * diagram.addShape(2.0, 2.0, masterName, 0);
	 * diagram.addShape(6.0, 6.0, masterName, 0);
	 * // Adds shape with defined PinX,PinY,Width and Height.
	 * diagram.addShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
	 * // Save resultant Image file
	 * diagram.save("out-AddMasterFromStencil.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addMaster(templateFilePath, masterName) {
	}

	/**
	 * Adds master to diagram from template file by master's ID.
	 * @param {String} templateFilePath - Path to template file(can be vdx, vst or vsd format).
	 * @param {Number} masterID - The unique ID of the master within masters collection in template.
	 * @return {Number} The unique ID of the master within masters collection in this diagram.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram();
	 * templateFileName = "NetApp-FAS-series.vss";
	 * // Add master with stencil file path and master id
	 * masterName = "FAS80xx rear empty";
	 * diagram.addMaster(templateFileName, 2);
	 * // Add master with stencil file path and master name
	 * diagram.addMaster(templateFileName, masterName);
	 * // adds master to diagram from source diagram
	 * src = new aspose.diagram.Diagram(templateFileName);
	 * diagram.addMaster(src, masterName);
	 * // Adds shape with defined PinX and PinY.
	 * diagram.addShape(2.0, 2.0, masterName, 0);
	 * diagram.addShape(6.0, 6.0, masterName, 0);
	 * // Adds shape with defined PinX,PinY,Width and Height.
	 * diagram.addShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
	 * // Save resultant Image file
	 * diagram.save("out-AddMasterFromStencil.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addMaster(templateFilePath, masterID) {
	}

	/**
	 * Indicates whether this diagram has hidden information.
	 */
	hasHiddenInfo() {
	}

	/**
	 * Remove unused information
	 * @param {Number} item - RemoveHiddenInfoItem.
	 */
	removeHiddenInformation(item) {
	}

	/**
	 * Get unused Styles
	 */
	getUnusedStyles() {
	}

	/**
	 * Adds shape created by master to specific page.
	 * @param {Shape} newShape - New shape object
	 * @param {String} masterName - Master's name.
	 * @param {Number} pageNumber - Index of page.
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	addShape(newShape, masterName, pageNumber) {
	}

	/**
	 * Adds shape created by master on page with defined PinX and PinY.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {String} masterName - Master's name.
	 * @param {Number} pageNumber - Index of page.
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram();
	 * templateFileName = "NetApp-FAS-series.vss";
	 * // Add master with stencil file path and master id
	 * masterName = "FAS80xx rear empty";
	 * diagram.addMaster(templateFileName, 2);
	 * // Add master with stencil file path and master name
	 * diagram.addMaster(templateFileName, masterName);
	 * // adds master to diagram from source diagram
	 * src = new aspose.diagram.Diagram(templateFileName);
	 * diagram.addMaster(src, masterName);
	 * // Adds shape with defined PinX and PinY.
	 * diagram.addShape(2.0, 2.0, masterName, 0);
	 * diagram.addShape(6.0, 6.0, masterName, 0);
	 * // Adds shape with defined PinX,PinY,Width and Height.
	 * diagram.addShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
	 * // Save resultant Image file
	 * diagram.save("out-AddMasterFromStencil.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addShape(pinX, pinY, masterName, pageNumber) {
	}

	/**
	 * Adds shape created by master on page with defined PinX,PinY,Width and Height.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the shape in inches.
	 * @param {Number} height - Specifies the height of the shape in inches.
	 * @param {String} masterName - Master's name.
	 * @param {Number} pageNumber - Index of page.
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram();
	 * templateFileName = "NetApp-FAS-series.vss";
	 * // Add master with stencil file path and master id
	 * masterName = "FAS80xx rear empty";
	 * diagram.addMaster(templateFileName, 2);
	 * // Add master with stencil file path and master name
	 * diagram.addMaster(templateFileName, masterName);
	 * // adds master to diagram from source diagram
	 * src = new aspose.diagram.Diagram(templateFileName);
	 * diagram.addMaster(src, masterName);
	 * // Adds shape with defined PinX and PinY.
	 * diagram.addShape(2.0, 2.0, masterName, 0);
	 * diagram.addShape(6.0, 6.0, masterName, 0);
	 * // Adds shape with defined PinX,PinY,Width and Height.
	 * diagram.addShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
	 * // Save resultant Image file
	 * diagram.save("out-AddMasterFromStencil.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addShape(pinX, pinY, width, height, masterName, pageNumber) {
	}

	/**
	 * Print the whole document to the specified printer,using the standard (no User Interface) print controller.
	 * If printerName is Null or empty will be used default printer.
	 * @param {String} printerName - The name of the printer.Can be Null
	 */
	print(printerName) {
	}

	/**
	 * Print the whole document to the specified printer,using the standard (no User Interface) print controller.
	 * If printerName is Null or empty will be used default printer.
	 * @param {String} printerName - The name of the printer.Can be Null
	 * @param {PrintSaveOptions} options - The print options.
	 */
	print(printerName, options) {
	}

	/**
	 * Prints the document,using the standard (no User Interface) print controller and a document name.
	 * @param {String} printerName - The name of the printer.Can be Null
	 * @param {String} documentName - The document name to display (for example, in a print status dialog box or printer queue) while printing the document.
	 * @param {PrintSaveOptions} options - The print options.
	 */
	print(printerName, documentName, options) {
	}

	/**
	 * Prints the document,using the standard (no User Interface) print controller and a document name.
	 * @param {String} printerName - The name of the printer.Can be Null
	 * @param {String} documentName - The document name to display (for example, in a print status dialog box or printer queue) while printing the document.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // call the print method to print whole Diagram using the printer name
	 * // and set document name in the print job
	 * diagram.print("Microsoft Print to PDF", "Job name while printing with Aspose.Diagram");
	 */
	print(printerName, documentName) {
	}

	/**
	 * Get the Default Fonts folder path
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveFontInfo.vsd");
	 * console.log(diagram.getDefaultFontDir());
	 */
	getDefaultFontDir() {
	}

	/**
	 * Removes VBA/macro from this diagram.
	 */
	removeMacro() {
	}

	/**
	 * Public class constructor, loads the diagram from the stream.
	 * @param {ReadableStream} stream - The data stream
	 * @param {Callback} callback - The callback function
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var readStream = fs.createReadStream("example.vsdx");
	 * aspose.diagram.Diagram.createDiagramFromStream(readStream, function(diagram, err) {
	 * if (err) {
	 * console.log("open error");
	 * return;
	 * }
	 * diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 * });
	 */
	static createDiagramFromStream(stream, callback) {
	}

	/**
	 * Public class constructor, loads the diagram from the stream using predefined format.
	 * @param {ReadableStream} stream - The data stream
	 * @param {Number} format -  A
	 * @param {Callback} callback - The callback function
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var readStream = fs.createReadStream("example.vsdx");
	 * aspose.diagram.Diagram.createDiagramFromStream(readStream, aspose.diagram.LoadFileFormat.VSDX, function(diagram, err) {
	 * if (err) {
	 * console.log("open error");
	 * return;
	 * }
	 * diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 * });
	 */
	static createDiagramFromStream(stream, format, callback) {
	}

	/**
	 * Public class constructor, loads the diagram from the file using predefined load file options.
	 * @param {ReadableStream} stream - The data stream
	 * @param {LoadOptions} options -  The data
	 * @param {Callback} callback - The callback function
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var readStream = fs.createReadStream("example.vsdx");
	 * options = new aspose.diagram.LoadOptions(aspose.diagram.LoadFileFormat.VSDX);
	 * aspose.diagram.Diagram.createDiagramFromStream(readStream, options, function(diagram, err) {
	 * if (err) {
	 * console.log("open error: " + err);
	 * return;
	 * }
	 * diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 * });
	 */
	static createDiagramFromStream(stream, options, callback) {
	}

	/**
	 * Saves the diagram data to the stream.
	 * @param {Diagram} diagram - The diagram object to save
	 * @param {WritableStream} stream - The stream
	 * @param {Number} saveFormat - A
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var diagram = new aspose.diagram.Diagram("example.vsdx");
	 * var writeStream = fs.createWriteStream("output-stream.vsdx");
	 * aspose.diagram.Diagram.saveToStream(diagram, writeStream, aspose.diagram.SaveFileFormat.VSDX);
	 */
	static save(diagram, stream, saveFormat) {
	}

	/**
	 * Saves the diagram to a file using the specified save options.
	 * @param {Diagram} diagram - The diagram object to save
	 * @param {WritableStream} stream - The stream
	 * @param {SaveOptions} options - SaveOptions
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var diagram = new aspose.diagram.Diagram("example.vsdx");
	 * var writeStream = fs.createWriteStream("output-stream.vsdx");
	 * var options = new aspose.diagram.DiagramSaveOptions(aspose.diagram.SaveFileFormat.VSDX);
	 * aspose.diagram.Diagram.saveToStream(diagram, writeStream, options);
	 */
	static save(diagram, stream, options) {
	}

}

/**
 * Base class for all Aspose.Diagram exceptions
 */
class DiagramException {
	/**
	 * Constructor.
	 * @param {String} msg
	 */
	constructor(msg) {
	}

}

/**
 * Can be used to specify additional options when saving a diagram into Visio (VDX\VSX) format.
 * At the moment provides only the SaveFormat property, but in the future will have other options added.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("VisioSaveOptions.vsdx");
 * // Options when saving a diagram into Visio format
 * options = new aspose.diagram.DiagramSaveOptions(aspose.diagram.SaveFileFormat.VSDX);
 * //  When characters in the diagram are unicode and not be set with
 * //  correct font value or the font is not installed locally, they may
 * //  appear as block in pdf, image or XPS. Set the DefaultFont such as
 * //  MingLiu or MS Gothic to show these characters.
 * options.setDefaultFont("MS Gothic");
 * // Defines whether need enlarge page to fit drawing content or not.
 * // Remarks:
 * // Default value is false.
 * options.setAutoFitPageToDrawingContent(true);
 * // save diagram
 * diagram.save("out-UseDiagramSaveOptions.vsdx", options);
 */
class DiagramSaveOptions {
	/**
	 * Initializes a new instance of this class that can be used to save a diagram in the VDX format.
	 */
	constructor() {
	}
	/**
	 * Initializes a new instance of this class that can be used to save a diagram in the VDX or VSX format.
	 * @param {Number} saveFormat - SaveFileFormat
	 */
	constructor_overload$1(saveFormat) {
	}

	/**
	 * Specifies the format in which the rendered diagram will be saved if this save options object is used.
	 * Can be SaveFileFormat or SaveFileFormat.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the rendered diagram will be saved if this save options object is used.
	 * Can be SaveFileFormat or SaveFileFormat.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * Defines whether need enlarge page to fit drawing content or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("BFlowcht.vsdx");
	 * // use saving options
	 * options = new aspose.diagram.DiagramSaveOptions(aspose.diagram.SaveFileFormat.VSDX);
	 * // set Auto fit page property
	 * options.setAutoFitPageToDrawingContent(true);
	 * // save Visio diagram
	 * diagram.save("out-AutoFitShapesInVisio.vsdx", options);
	 */
	getAutoFitPageToDrawingContent() {
	}
	/**
	 * Defines whether need enlarge page to fit drawing content or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("BFlowcht.vsdx");
	 * // use saving options
	 * options = new aspose.diagram.DiagramSaveOptions(aspose.diagram.SaveFileFormat.VSDX);
	 * // set Auto fit page property
	 * options.setAutoFitPageToDrawingContent(true);
	 * // save Visio diagram
	 * diagram.save("out-AutoFitShapesInVisio.vsdx", options);
	 */
	setAutoFitPageToDrawingContent(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * When it is contained in a Group element, the DisplayMode element specifies how a group shape and its members are displayed.
 * When it is contained in a SmartTagDef element, the DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
 */
class DisplayMode {
	/**
	 * Constructor.
	 * @param {Number} value - DisplayModeValue
	 */
	constructor(value) {
	}

	/**
	 * When it is contained in a Group element, the DisplayMode element specifies how a group shape and its members are displayed.
	 * When it is contained in a SmartTagDef element, the DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
	 * The value of the property is DisplayModeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * When it is contained in a Group element, the DisplayMode element specifies how a group shape and its members are displayed.
	 * When it is contained in a SmartTagDef element, the DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
	 * The value of the property is DisplayModeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
 */
class DisplayModeSmartTagDef {
	/**
	 * Constructor.
	 * @param {Number} value - DisplayModeSmartTagDefValue
	 */
	constructor(value) {
	}

	/**
	 * DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
	 * The value of the property is DisplayModeSmartTagDefValue integer constant.
	 */
	getValue() {
	}
	/**
	 * DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
	 * The value of the property is DisplayModeSmartTagDefValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that control the document's preview quality, scope, and output format.
 * @hideconstructor
 */
class DocProps {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the output format for a drawing.
	 */
	getOutputFormat() {
	}

	/**
	 * Specifies whether a preview is saved each time you save a drawing.
	 */
	getLockPreview() {
	}

	/**
	 * Indicates whether the document is being reviewed for markup.
	 */
	getAddMarkup() {
	}

	/**
	 * Determines whether markup appears in the drawing window.
	 */
	getViewMarkup() {
	}

	/**
	 * Specifies whether the drawing preview is draft quality or detailed.
	 */
	getPreviewQuality() {
	}

	/**
	 * Specifies whether the document includes a preview, and, if so, whether the preview shows only the first page or all the pages in the document.
	 */
	getPreviewScope() {
	}

	/**
	 * Indicates the default language for the document.
	 */
	getDocLangID() {
	}

}

/**
 * Contains document property elements such as the document's title, author, and so on.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("Introduction.vsdx");
 * // Set some summary information about the diagram
 * diagram.getDocumentProps().setCreator("Farhan");
 * diagram.getDocumentProps().setCompany("Aspose");
 * diagram.getDocumentProps().setCategory("Drawing 2D");
 * diagram.getDocumentProps().setManager("Sergey Polshkov");
 * diagram.getDocumentProps().setTitle("Aspose Title");
 * diagram.getDocumentProps().setTimeCreated(aspose.diagram.DateTime.getNow());
 * diagram.getDocumentProps().setSubject("Visio Diagram");
 * diagram.getDocumentProps().setTemplate("Aspose Template");
 * // Write the updated file to the disk in VSDX file format
 * diagram.save("out-SetVisioProperties_Out.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class DocumentProperties {
	/**
	 * Contains a user-defined text string that serves as a descriptive title for the document. Maximum length is 63 characters.
	 */
	getTitle() {
	}
	/**
	 * Contains a user-defined text string that serves as a descriptive title for the document. Maximum length is 63 characters.
	 */
	setTitle(value) {
	}

	/**
	 * Contains a user-defined text string that describes the contents of the document. Maximum length is 63 characters.
	 */
	getSubject() {
	}
	/**
	 * Contains a user-defined text string that describes the contents of the document. Maximum length is 63 characters.
	 */
	setSubject(value) {
	}

	/**
	 * Identifies who created or last updated the file. The maximum length is 63 characters.
	 */
	getCreator() {
	}
	/**
	 * Identifies who created or last updated the file. The maximum length is 63 characters.
	 */
	setCreator(value) {
	}

	/**
	 * Contains a user-entered text string identifying the person in charge of the project or department. The maximum length is 63 characters.
	 */
	getManager() {
	}
	/**
	 * Contains a user-entered text string identifying the person in charge of the project or department. The maximum length is 63 characters.
	 */
	setManager(value) {
	}

	/**
	 * Contains user-entered information identifying the company creating the drawing or the company the drawing is being created for. Maximum length is 63 characters.
	 */
	getCompany() {
	}
	/**
	 * Contains user-entered information identifying the company creating the drawing or the company the drawing is being created for. Maximum length is 63 characters.
	 */
	setCompany(value) {
	}

	/**
	 * Specifies the descriptive text for the type of drawing, such as flowchart or office layout. This text can also be entered in the Microsoft Visio user interface in the Category box in the Properties dialog box.
	 */
	getCategory() {
	}
	/**
	 * Specifies the descriptive text for the type of drawing, such as flowchart or office layout. This text can also be entered in the Microsoft Visio user interface in the Category box in the Properties dialog box.
	 */
	setCategory(value) {
	}

	/**
	 * Contains a text string that identifies topics or other important information about the file, such as project name, client name, or version number. The maximum string length is 63 characters.
	 */
	getKeywords() {
	}
	/**
	 * Contains a text string that identifies topics or other important information about the file, such as project name, client name, or version number. The maximum string length is 63 characters.
	 */
	setKeywords(value) {
	}

	/**
	 * Specifies the language
	 */
	getLanguage() {
	}
	/**
	 * Specifies the language
	 */
	setLanguage(value) {
	}

	/**
	 * Contains a descriptive text string for a document. Use this element to store important information about the document, such as its purpose, recent changes, or pending changes. The maximum is 191 characters.
	 */
	getDesc() {
	}
	/**
	 * Contains a descriptive text string for a document. Use this element to store important information about the document, such as its purpose, recent changes, or pending changes. The maximum is 191 characters.
	 */
	setDesc(value) {
	}

	/**
	 * Contains the path to be used for relative hyperlinks (hyperlinks for which the linked file location is described in relation to the Microsoft Visio diagram). By default, a hyperlink path is relative to the current document unless a different path is specified in this element. Maximum length is 256 characters.
	 */
	getHyperlinkBase() {
	}
	/**
	 * Contains the path to be used for relative hyperlinks (hyperlinks for which the linked file location is described in relation to the Microsoft Visio diagram). By default, a hyperlink path is relative to the current document unless a different path is specified in this element. Maximum length is 256 characters.
	 */
	setHyperlinkBase(value) {
	}

	/**
	 * Specifies the alternate names for a document.
	 */
	getAlternateNames() {
	}
	/**
	 * Specifies the alternate names for a document.
	 */
	setAlternateNames(value) {
	}

	/**
	 * Contains a string value specifying the file name of the template from which the document was created.
	 */
	getTemplate() {
	}
	/**
	 * Contains a string value specifying the file name of the template from which the document was created.
	 */
	setTemplate(value) {
	}

	/**
	 * Contains the full build number of the instance used to create the document.
	 */
	getBuildNumberCreated() {
	}
	/**
	 * Contains the full build number of the instance used to create the document.
	 */
	setBuildNumberCreated(value) {
	}

	/**
	 * Contains the build number of the instance last used to edit the document.
	 */
	getBuildNumberEdited() {
	}
	/**
	 * Contains the build number of the instance last used to edit the document.
	 */
	setBuildNumberEdited(value) {
	}

	/**
	 * Contains a metafile stream that serves as a preview of the document.
	 */
	getPreviewPicture() {
	}
	/**
	 * Contains a metafile stream that serves as a preview of the document.
	 */
	setPreviewPicture(value) {
	}

	/**
	 * Contains date and time value indicating when the document was created.
	 */
	getTimeCreated() {
	}

	/**
	 * Contains date and time value indicating when the document was last saved.
	 */
	getTimeSaved() {
	}

	/**
	 * Contains date and time value indicating when the document was last edited.
	 */
	getTimeEdited() {
	}

	/**
	 * Contains date and time value indicating when the document was last printed.
	 */
	getTimePrinted() {
	}

	/**
	 * Collection of CustomProp.
	 */
	getCustomProps() {
	}

}

/**
 * Contains elements that specify document settings.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("ProtectAndUnprotect.vsd");
 * diagram.getDocumentSettings().setProtectBkgnds(aspose.diagram.BOOL.TRUE);
 * diagram.getDocumentSettings().setProtectMasters(aspose.diagram.BOOL.TRUE);
 * diagram.getDocumentSettings().setProtectShapes(aspose.diagram.BOOL.TRUE);
 * diagram.getDocumentSettings().setProtectStyles(aspose.diagram.BOOL.TRUE);
 * diagram.save("out-VisioDiagramProtection.vdx", aspose.diagram.SaveFileFormat.VDX);
 * @hideconstructor
 */
class DocumentSettings {
	/**
	 * Specifies the ID of the page that should be displayed when the document is opened by Microsoft Visio.
	 */
	getTopPage() {
	}
	/**
	 * Specifies the ID of the page that should be displayed when the document is opened by Microsoft Visio.
	 */
	setTopPage(value) {
	}

	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a shape using a drawing tool, the shape inherits its text style from the specified StyleSheet element.
	 */
	getDefaultTextStyle() {
	}
	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a shape using a drawing tool, the shape inherits its text style from the specified StyleSheet element.
	 */
	setDefaultTextStyle(value) {
	}

	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a shape using a drawing tool, the shape inherits its line style from the specified StyleSheet element.
	 */
	getDefaultLineStyle() {
	}
	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a shape using a drawing tool, the shape inherits its line style from the specified StyleSheet element.
	 */
	setDefaultLineStyle(value) {
	}

	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a shape using a drawing tool, the shape inherits its fill style from the specified StyleSheet element.
	 */
	getDefaultFillStyle() {
	}
	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a shape using a drawing tool, the shape inherits its fill style from the specified StyleSheet element.
	 */
	setDefaultFillStyle(value) {
	}

	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a guide, the guide inherits its guide style from the specified StyleSheet element.
	 */
	getDefaultGuideStyle() {
	}
	/**
	 * Specifies the ID of a StyleSheet element. The next time the user creates a guide, the guide inherits its guide style from the specified StyleSheet element.
	 */
	setDefaultGuideStyle(value) {
	}

	/**
	 * Specifies the objects that shapes glue to when glue is enabled in the document.
	 * The value of the property is GlueSettings integer constant.
	 */
	getGlueSettings() {
	}
	/**
	 * Specifies the objects that shapes glue to when glue is enabled in the document.
	 * The value of the property is GlueSettings integer constant.
	 */
	setGlueSettings(value) {
	}

	/**
	 * Specifies the objects that shapes snap to when snap is active in the window.
	 * The value of the property is SnapSettings integer constant.
	 */
	getSnapSettings() {
	}
	/**
	 * Specifies the objects that shapes snap to when snap is active in the window.
	 * The value of the property is SnapSettings integer constant.
	 */
	setSnapSettings(value) {
	}

	/**
	 * Specifies whether a specific snap extension setting is enabled or disabled for the active window.
	 * The value of the property is SnapExtensions integer constant.
	 */
	getSnapExtensions() {
	}
	/**
	 * Specifies whether a specific snap extension setting is enabled or disabled for the active window.
	 * The value of the property is SnapExtensions integer constant.
	 */
	setSnapExtensions(value) {
	}

	/**
	 * Contains a collection of SnapAngle elements.
	 */
	getSnapAngles() {
	}
	/**
	 * Contains a collection of SnapAngle elements.
	 */
	setSnapAngles(value) {
	}

	/**
	 * Specifies whether the dynamic grid feature is enabled for a document or window.
	 * The value of the property is BOOL integer constant.
	 */
	getDynamicGridEnabled() {
	}
	/**
	 * Specifies whether the dynamic grid feature is enabled for a document or window.
	 * The value of the property is BOOL integer constant.
	 */
	setDynamicGridEnabled(value) {
	}

	/**
	 * Specifies whether the user is prevented from creating or editing styles. However, regardless of this setting, the user can still apply styles.
	 * The value of the property is BOOL integer constant.
	 */
	getProtectStyles() {
	}
	/**
	 * Specifies whether the user is prevented from creating or editing styles. However, regardless of this setting, the user can still apply styles.
	 * The value of the property is BOOL integer constant.
	 */
	setProtectStyles(value) {
	}

	/**
	 * Specifies whether the user is prevented from selecting shapes that have their LockSelect element set to 1.
	 * The value of the property is BOOL integer constant.
	 */
	getProtectShapes() {
	}
	/**
	 * Specifies whether the user is prevented from selecting shapes that have their LockSelect element set to 1.
	 * The value of the property is BOOL integer constant.
	 */
	setProtectShapes(value) {
	}

	/**
	 * Specifies whether the user is prevented from creating, editing, or deleting masters. Regardless of this setting, the user can still create instances of masters.
	 * The value of the property is BOOL integer constant.
	 */
	getProtectMasters() {
	}
	/**
	 * Specifies whether the user is prevented from creating, editing, or deleting masters. Regardless of this setting, the user can still create instances of masters.
	 * The value of the property is BOOL integer constant.
	 */
	setProtectMasters(value) {
	}

	/**
	 * Specifies whether the user is prevented from deleting or editing background pages.
	 * The value of the property is BOOL integer constant.
	 */
	getProtectBkgnds() {
	}
	/**
	 * Specifies whether the user is prevented from deleting or editing background pages.
	 * The value of the property is BOOL integer constant.
	 */
	setProtectBkgnds(value) {
	}

	/**
	 * Contains the name of the Microsoft Visio user interface (.vsu) file that defines custom menus and accelerators for a document.
	 */
	getCustomMenusFile() {
	}
	/**
	 * Contains the name of the Microsoft Visio user interface (.vsu) file that defines custom menus and accelerators for a document.
	 */
	setCustomMenusFile(value) {
	}

	/**
	 * Contains the name of the Microsoft Visio user interface (.vsu) file that defines custom toolbars and status bars for a document.
	 */
	getCustomToolbarsFile() {
	}
	/**
	 * Contains the name of the Microsoft Visio user interface (.vsu) file that defines custom toolbars and status bars for a document.
	 */
	setCustomToolbarsFile(value) {
	}

	/**
	 * A MIME (Multipurpose Internet Mail Extensions) encoded Microsoft Visio user interface (VSU) file representing custom toolbars.
	 */
	getAttachedToolbars() {
	}
	/**
	 * A MIME (Multipurpose Internet Mail Extensions) encoded Microsoft Visio user interface (VSU) file representing custom toolbars.
	 */
	setAttachedToolbars(value) {
	}

}

/**
 * Specifies a document's ShapeSheet structure.
 * @hideconstructor
 */
class DocumentSheet {
	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * StyleSheet element from which this style inherits line formatting.
	 */
	getLineStyle() {
	}
	/**
	 * StyleSheet element from which this style inherits line formatting.
	 */
	setLineStyle(value) {
	}

	/**
	 * StyleSheet element from which this style inherits fill formatting.
	 */
	getFillStyle() {
	}
	/**
	 * StyleSheet element from which this style inherits fill formatting.
	 */
	setFillStyle(value) {
	}

	/**
	 * StyleSheet element from which this style inherits text formatting.
	 */
	getTextStyle() {
	}
	/**
	 * StyleSheet element from which this style inherits text formatting.
	 */
	setTextStyle(value) {
	}

	/**
	 * A GUID (globally unique identifier) identifying the shape.
	 */
	getUniqueID() {
	}

	/**
	 * Contains elements that control the document's preview quality, scope, and output format.
	 */
	getDocProps() {
	}

	/**
	 * Contains a collection of Scratch elements.
	 */
	getScratchs() {
	}

	/**
	 * Contains a collection of Connection elements.
	 */
	getConnections() {
	}

	/**
	 * Contains a collection of ConnectionABCD elements.
	 */
	getConnectionABCDs() {
	}

	/**
	 * Contains a collection of User elements.
	 */
	getUsers() {
	}

	/**
	 * Contains a collection of Prop elements.
	 */
	getProps() {
	}

	/**
	 * Contains a collection of Hyperlink elements.
	 */
	getHyperlinks() {
	}

	/**
	 * Contains elements that contain identifying information about a document reviewer.
	 */
	getReviewers() {
	}

	/**
	 * Contains elements that contain information about comments inserted into a document page.
	 */
	getAnnotations() {
	}

	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded BLOB of picture data, such as Windows metafile, bitmap, or OLE data.
	 */
	getForeignData() {
	}

	/**
	 * Contains elements specifying the width and height of an object from another program used in a Microsoft Visio document. Also includes elements specifying the distance the object's image is offset within its borders.
	 */
	getForeign() {
	}

}

/**
 * Double value
 */
class DoubleValue {
	/**
	 * Constructor.
	 * @param {Number} value
	 * @param {Number} unit - MeasureConst
	 */
	constructor(value, unit) {
	}
	/**
	 * Constructor.
	 */
	constructor_overload$1() {
	}

	/**
	 * Double value.
	 */
	getValue() {
	}
	/**
	 * Double value.
	 */
	setValue(value) {
	}

	/**
	 */
	isThemed() {
	}
	/**
	 */
	setThemed(value) {
	}

	/**
	 * Attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Determines whether the drawing page resizes automatically to fit the diagram.
 */
class DrawingResizeType {
	/**
	 * Constructor.
	 * @param {Number} value - DrawingResizeTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Determines whether the drawing page resizes automatically to fit the diagram.
	 * The value of the property is DrawingResizeTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines whether the drawing page resizes automatically to fit the diagram.
	 * The value of the property is DrawingResizeTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the type of drawing scale to use for a page.
 */
class DrawingScaleType {
	/**
	 * Constructor.
	 * @param {Number} value - DrawingScaleTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of drawing scale to use for a page.
	 * The value of the property is DrawingScaleTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of drawing scale to use for a page.
	 * The value of the property is DrawingScaleTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the drawing size of a page.
 */
class DrawingSizeType {
	/**
	 * Constructor.
	 * @param {Number} value - DrawingSizeTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the drawing size of a page.
	 * The value of the property is DrawingSizeTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the drawing size of a page.
	 * The value of the property is DrawingSizeTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the type of visual feedback provided to users when they drag a connector.
 * When the mouse button is released, the resulting connector shape is not affected by this setting. This element does not apply to routable connectors.
 */
class DynFeedback {
	/**
	 * Constructor.
	 * @param {Number} value - DynFeedbackValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of visual feedback provided to users when they drag a connector.
	 * When the mouse button is released, the resulting connector shape is not affected by this setting. This element does not apply to routable connectors.
	 * The value of the property is DynFeedbackValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of visual feedback provided to users when they drag a connector.
	 * When the mouse button is released, the resulting connector shape is not affected by this setting. This element does not apply to routable connectors.
	 * The value of the property is DynFeedbackValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements specifying the x- and y-coordinates of the ellipse's center point and two points on the ellipse.
 */
class Ellipse {
	/**
	 * Creates an instance of the Ellipse class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the center of the ellipse.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the center of the ellipse.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the center of the ellipse.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the center of the ellipse.
	 */
	setY(value) {
	}

	/**
	 * An x-coordinate of a point on the ellipse  paired with the y-coordinate represented by the B element.
	 */
	getA() {
	}
	/**
	 * An x-coordinate of a point on the ellipse  paired with the y-coordinate represented by the B element.
	 */
	setA(value) {
	}

	/**
	 * A y-coordinate of a point on an ellipse  paired with an x-coordinate represented by the A element.
	 */
	getB() {
	}
	/**
	 * A y-coordinate of a point on an ellipse  paired with an x-coordinate represented by the A element.
	 */
	setB(value) {
	}

	/**
	 * An x-coordinate of a point on the ellipse  paired with y-coordinate represented by the D element.
	 */
	getC() {
	}
	/**
	 * An x-coordinate of a point on the ellipse  paired with y-coordinate represented by the D element.
	 */
	setC(value) {
	}

	/**
	 * A y-coordinate of a point on the ellipse  paired with x-coordinate represented by the C element.
	 */
	getD() {
	}
	/**
	 * A y-coordinate of a point on the ellipse  paired with x-coordinate represented by the C element.
	 */
	setD(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Ellipse collection.
 * @hideconstructor
 */
class EllipseCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @return {Ellipse}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains elements that specify information about an elliptical arc.
 */
class EllipticalArcTo {
	/**
	 * Creates an instance of the EllipticalArcTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the ending vertex of an elliptical arc.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the ending vertex of an elliptical arc.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the ending vertex of an elliptical arc.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the ending vertex of an elliptical arc.
	 */
	setY(value) {
	}

	/**
	 * The x-coordinate of the arc's control point. The control point is best located about halfway between the beginning and ending vertices of the arc. Otherwise, the arc may grow to an extreme size in order to pass through the control point, with unpredictable results.
	 */
	getA() {
	}
	/**
	 * The x-coordinate of the arc's control point. The control point is best located about halfway between the beginning and ending vertices of the arc. Otherwise, the arc may grow to an extreme size in order to pass through the control point, with unpredictable results.
	 */
	setA(value) {
	}

	/**
	 * The y-coordinate of an arc's control point.
	 */
	getB() {
	}
	/**
	 * The y-coordinate of an arc's control point.
	 */
	setB(value) {
	}

	/**
	 * The angle of an arc's major axis relative to the x-axis of its parent.
	 */
	getC() {
	}
	/**
	 * The angle of an arc's major axis relative to the x-axis of its parent.
	 */
	setC(value) {
	}

	/**
	 * The ratio of an arc's major axis to its minor axis. Despite the usual meaning of these words, the major axis does not have to be greater than the minor axis, so this ratio does not have to be greater than 1. Setting this element to a value less than or equal to 0 or greater than 1000 can lead to unpredictable results.
	 */
	getD() {
	}
	/**
	 * The ratio of an arc's major axis to its minor axis. Despite the usual meaning of these words, the major axis does not have to be greater than the minor axis, so this ratio does not have to be greater than 1. Setting this element to a value less than or equal to 0 or greater than 1000 can lead to unpredictable results.
	 */
	setD(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * EllipticalArcTo  collection.
 * @hideconstructor
 */
class EllipticalArcToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {EllipticalArcTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains elements that specify formulas that control shape events.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("TestTemplate.vsdm");
 * // get page
 * page = diagram.getPages().get(0);
 * // get shape id
 * shapeId = page.addShape(3.0, 3.0, 0.36, 0.36, "Square");
 * // get shape
 * shape = page.getShapes().getShape(shapeId);
 * // set event cells in the ShapeSheet
 * shape.getEvent().getEventXFMod().getUfe().setF("CALLTHIS(\"ThisDocument.ShowAlert\")");
 * shape.getEvent().getEventXFMod().getUfe().setF("CALLTHIS(\"ThisDocument.ShowAlert\")");
 * shape.getEvent().getEventXFMod().getUfe().setF("CALLTHIS(\"ThisDocument.ShowAlert\")");
 * shape.getEvent().getEventXFMod().getUfe().setF("CALLTHIS(\"ThisDocument.ShowAlert\")");
 * shape.getEvent().getEventXFMod().getUfe().setF("CALLTHIS(\"ThisDocument.ShowAlert\")");
 * shape.getEvent().getEventXFMod().getUfe().setF("CALLTHIS(\"ThisDocument.ShowAlert\")");
 * diagram.save("out-SettingEventCells.vsdm", aspose.diagram.SaveFileFormat.VSDM);
 * @hideconstructor
 */
class Event {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Reserved for future use.
	 */
	getTheData() {
	}
	/**
	 * Reserved for future use.
	 */
	setTheData(value) {
	}

	/**
	 * An event element that is evaluated when a shape's text or text composition changes.
	 */
	getTheText() {
	}
	/**
	 * An event element that is evaluated when a shape's text or text composition changes.
	 */
	setTheText(value) {
	}

	/**
	 * An event element that is evaluated when a shape is double-clicked.
	 */
	getEventDblClick() {
	}
	/**
	 * An event element that is evaluated when a shape is double-clicked.
	 */
	setEventDblClick(value) {
	}

	/**
	 * An event element that is evaluated when a shape's position or orientation on the page is transformed.
	 */
	getEventXFMod() {
	}
	/**
	 * An event element that is evaluated when a shape's position or orientation on the page is transformed.
	 */
	setEventXFMod(value) {
	}

	/**
	 * An event element that is evaluated when a shape is dropped on the drawing page, either as an instance or when a shape is duplicated or pasted.
	 */
	getEventDrop() {
	}
	/**
	 * An event element that is evaluated when a shape is dropped on the drawing page, either as an instance or when a shape is duplicated or pasted.
	 */
	setEventDrop(value) {
	}

	/**
	 * EventMultiDrop.
	 */
	getEventMultiDrop() {
	}
	/**
	 * EventMultiDrop.
	 */
	setEventMultiDrop(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Encapsulates an event code. An EventItem element can trigger two kinds of actions: it can run an add-on, or it can send a notification of the event to the calling program.
 */
class EventItem {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The ID of the event.
	 */
	getID() {
	}
	/**
	 * The ID of the event.
	 */
	setID(value) {
	}

	/**
	 * Specifies the action code of the parent EventItem element.For an EventItem element to be saved in a DatadiagramML file, it must be persistable. Currently, the only valid action code a persistable event can have is 1 (ONEVENT_ACT_RUNADDON).
	 */
	getAction() {
	}
	/**
	 * Specifies the action code of the parent EventItem element.For an EventItem element to be saved in a DatadiagramML file, it must be persistable. Currently, the only valid action code a persistable event can have is 1 (ONEVENT_ACT_RUNADDON).
	 */
	setAction(value) {
	}

	/**
	 * A code indicating the event that triggers the add-on. For more information on event codes, see Event Codes in the Microsoft Visio 2007 Automation Reference.
	 */
	getEventCode() {
	}
	/**
	 * A code indicating the event that triggers the add-on. For more information on event codes, see Event Codes in the Microsoft Visio 2007 Automation Reference.
	 */
	setEventCode(value) {
	}

	/**
	 * Specifies the target of an event.
	 */
	getTarget() {
	}
	/**
	 * Specifies the target of an event.
	 */
	setTarget(value) {
	}

	/**
	 * Specifies a string containing arguments to be sent to the target of an event.
	 */
	getTargetArgs() {
	}
	/**
	 * Specifies a string containing arguments to be sent to the target of an event.
	 */
	setTargetArgs(value) {
	}

	/**
	 * Represents a flag indicating if the event is enabled or disabled.
	 * The value of the property is BOOL integer constant.
	 */
	getEnabled() {
	}
	/**
	 * Represents a flag indicating if the event is enabled or disabled.
	 * The value of the property is BOOL integer constant.
	 */
	setEnabled(value) {
	}

}

/**
 * EventItem collection.
 */
class EventItemCollection {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {EventItem}
	 */
	get(index) {
	}

	/**
	 * Add the eventItem in the collection.
	 * @param {EventItem} eventItem
	 * @return {Number}
	 */
	add(eventItem) {
	}

	/**
	 * Remove the eventItem from the collection.
	 * @param {EventItem} eventItem
	 */
	remove(eventItem) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains elements that specify functions and formulas inserted in the shape's text.
 */
class Field {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * It contains the value for a text field.
	 */
	getValue() {
	}

	/**
	 * Gets the formatted string value of this field .
	 */
	getDisplayValue() {
	}

	/**
	 * Reserved for future use.
	 */
	getEditMode() {
	}

	/**
	 * Format element specifies the formatting for a text field that is a string, number, date or time, duration, or currency. The text field type is specified in the corresponding Type element.
	 */
	getFormat() {
	}

	/**
	 * Type specifies a data type for the text field value.
	 */
	getType() {
	}

	/**
	 * Specifies the category of an inserted field in versions of Microsoft Visio earlier than Visio 2000.
	 */
	getUICat() {
	}

	/**
	 * Specifies the code of an inserted field in versions of Microsoft Visio earlier than Visio 2000.
	 */
	getUICod() {
	}

	/**
	 * Specifies the format of an inserted field in versions of Microsoft Visio earlier than Visio 2000.
	 */
	getUIFmt() {
	}

	/**
	 * Determines the calendar that is used for custom properties, text fields, and element formulas.
	 */
	getCalendar() {
	}

	/**
	 * Indicates the type of text field.
	 */
	getObjectKind() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Field collection.
 * @hideconstructor
 */
class FieldCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Field}
	 */
	get(index) {
	}

	/**
	 * Add the Field object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Field object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents the single TrueType font file stored in the file system.
 */
class FileFontSource {
	/**
	 * Ctor.
	 * @param {String} filePath - path to font file
	 */
	constructor(filePath) {
	}

	/**
	 * Path to font file.
	 */
	getFilePath() {
	}

	/**
	 * Returns the type of the font source.
	 * The value of the property is FontSourceType integer constant.
	 */
	getType() {
	}

}

/**
 * Contains data returned by FileFormatUtil file format detection methods.
 */
class FileFormatInfo {
	/**
	 */
	constructor() {
	}

	/**
	 * Gets the detected file format.
	 * The value of the property is FileFormatType integer constant.
	 */
	getFileFormatType() {
	}

	/**
	 * Gets the detected load format.
	 * The value of the property is LoadFileFormat integer constant.
	 */
	getLoadFormat() {
	}

}

/**
 * Provides utility methods for converting file format enums to strings or file extensions and back.
 */
class FileFormatUtil {
	/**
	 */
	constructor() {
	}

	/**
	 * Detects and returns the information about a format of a visio stored in a stream.
	 * @param {InputStream} stream - The stream
	 * @return {FileFormatInfo} A FileFormatInfo object that contains the detected information.
	 */
	static detectFileFormat(stream) {
	}

	/**
	 * Detects and returns the information about a format of a visio stored in a file.
	 * @param {String} filePath - The file path.
	 * @return {FileFormatInfo} A FileFormatInfo object that contains the detected information.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * info = aspose.diagram.FileFormatUtil.detectFileFormat("example.vsdx");
	 * console.log("detect result: " + info.getFileFormatType());
	 */
	static detectFileFormat(filePath) {
	}

	/**
	 * Detects and returns the information about a format of a visio stored in a stream.
	 * @param {ReadableStream} stream - The stream
	 * @param {Callback} callback - The callback function
	 * @return {FileFormatInfo} A FileFormatInfo object that contains the detected information.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var readStream = fs.createReadStream("example.vsdx");
	 * aspose.diagram.FileFormatUtil.detectFileFormatFromStream(readStream, function(result, err) {
	 * if (!err) {
	 * console.log("detect result: " + result.getFileFormatType());
	 * }
	 * });
	 */
	static detectFileFormatFromStream(stream, callback) {
	}

}

/**
 * Contains the current fill formatting values for the shape and the shape's drop shadow, including pattern, foreground color, and background color.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
 * // Get page by ID
 * page = diagram.getPages().getPage("Page-1");
 * // Get shape by ID
 * shape = page.getShapes().getShape(795);
 * // Get the fill formatting values
 * console.log(shape.getInheritFill().getFillBkgnd().getValue());
 * console.log(shape.getInheritFill().getFillForegnd().getValue());
 * console.log(shape.getInheritFill().getFillPattern().getValue());
 * console.log(shape.getInheritFill().getShapeShdwObliqueAngle().getValue());
 * console.log(shape.getInheritFill().getShapeShdwOffsetX().getValue());
 * console.log(shape.getInheritFill().getShapeShdwOffsetY().getValue());
 * console.log(shape.getInheritFill().getShapeShdwScaleFactor().getValue());
 * console.log(shape.getInheritFill().getShapeShdwType().getValue());
 * console.log(shape.getInheritFill().getShdwBkgnd().getValue());
 * console.log(shape.getInheritFill().getShdwBkgndTrans().getValue());
 * console.log(shape.getInheritFill().getShdwForegnd().getValue());
 * console.log(shape.getInheritFill().getShdwForegndTrans().getValue());
 * console.log(shape.getInheritFill().getShdwPattern().getValue());
 * @hideconstructor
 */
class Fill {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the color used for the foreground (stroke) of the shape's fill pattern.
	 */
	getFillForegnd() {
	}
	/**
	 * Specifies the color used for the foreground (stroke) of the shape's fill pattern.
	 */
	setFillForegnd(value) {
	}

	/**
	 * Contains the current gradient fill formatting values for the shape
	 */
	getGradientFill() {
	}

	/**
	 * Specifies the color used for the background of the shape's fill pattern.
	 */
	getFillBkgnd() {
	}
	/**
	 * Specifies the color used for the background of the shape's fill pattern.
	 */
	setFillBkgnd(value) {
	}

	/**
	 * Specifies the fill pattern for the shape.
	 */
	getFillPattern() {
	}
	/**
	 * Specifies the fill pattern for the shape.
	 */
	setFillPattern(value) {
	}

	/**
	 * Specifies the color used for the foreground (stroke) of the shape's drop shadow fill pattern.
	 */
	getShdwForegnd() {
	}
	/**
	 * Specifies the color used for the foreground (stroke) of the shape's drop shadow fill pattern.
	 */
	setShdwForegnd(value) {
	}

	/**
	 * Specifies the color used for the background (fill) of the shape's drop shadow fill pattern.
	 */
	getShdwBkgnd() {
	}
	/**
	 * Specifies the color used for the background (fill) of the shape's drop shadow fill pattern.
	 */
	setShdwBkgnd(value) {
	}

	/**
	 * Specifies the fill pattern for a shape's shadow.
	 */
	getShdwPattern() {
	}
	/**
	 * Specifies the fill pattern for a shape's shadow.
	 */
	setShdwPattern(value) {
	}

	/**
	 * Specifies the transparency level for the foreground (fill) color of the shape's fill pattern, from 0 (completely opaque) to 1 (completely transparent).
	 */
	getFillForegndTrans() {
	}
	/**
	 * Specifies the transparency level for the foreground (fill) color of the shape's fill pattern, from 0 (completely opaque) to 1 (completely transparent).
	 */
	setFillForegndTrans(value) {
	}

	/**
	 * Specifies the transparency level for the background (fill) color of the shape's fill pattern, from 0 (completely opaque) to 1 (completely transparent).
	 */
	getFillBkgndTrans() {
	}
	/**
	 * Specifies the transparency level for the background (fill) color of the shape's fill pattern, from 0 (completely opaque) to 1 (completely transparent).
	 */
	setFillBkgndTrans(value) {
	}

	/**
	 * Specifies transparency level for the foreground (stroke) of the shape's drop shadow fill pattern, from 0.0 (completely opaque) to 1.0 (completely transparent).
	 */
	getShdwForegndTrans() {
	}
	/**
	 * Specifies transparency level for the foreground (stroke) of the shape's drop shadow fill pattern, from 0.0 (completely opaque) to 1.0 (completely transparent).
	 */
	setShdwForegndTrans(value) {
	}

	/**
	 * Specifies transparency level for the background (fill) of the shape's drop shadow fill pattern, from 0.0 (completely opaque) to 1.0 (completely transparent).
	 */
	getShdwBkgndTrans() {
	}
	/**
	 * Specifies transparency level for the background (fill) of the shape's drop shadow fill pattern, from 0.0 (completely opaque) to 1.0 (completely transparent).
	 */
	setShdwBkgndTrans(value) {
	}

	/**
	 * Specifies the type of shadow for a shape.
	 */
	getShapeShdwType() {
	}
	/**
	 * Specifies the type of shadow for a shape.
	 */
	setShapeShdwType(value) {
	}

	/**
	 * Specifies the type of shadow for a shape.
	 */
	getShapeShdwShow() {
	}
	/**
	 * Specifies the type of shadow for a shape.
	 */
	setShapeShdwShow(value) {
	}

	/**
	 * Determines the distance in page units that a shape's shadow is offset horizontally from the shape.
	 */
	getShapeShdwOffsetX() {
	}
	/**
	 * Determines the distance in page units that a shape's shadow is offset horizontally from the shape.
	 */
	setShapeShdwOffsetX(value) {
	}

	/**
	 * Determines the distance in page units that a shape's shadow is offset vertically from the shape.
	 */
	getShapeShdwOffsetY() {
	}
	/**
	 * Determines the distance in page units that a shape's shadow is offset vertically from the shape.
	 */
	setShapeShdwOffsetY(value) {
	}

	/**
	 * Specifies the angle of oblique direction of a shape's shadow.
	 */
	getShapeShdwObliqueAngle() {
	}
	/**
	 * Specifies the angle of oblique direction of a shape's shadow.
	 */
	setShapeShdwObliqueAngle(value) {
	}

	/**
	 * Specifies the percentage by which the shadow of a shape can be enlarged or reduced.
	 */
	getShapeShdwScaleFactor() {
	}
	/**
	 * Specifies the percentage by which the shadow of a shape can be enlarged or reduced.
	 */
	setShapeShdwScaleFactor(value) {
	}

	/**
	 * Specifies the shadow blur size of a shape.
	 * cannot draw blur now, but can parse from vsdx now.
	 */
	getShapeShdwBlur() {
	}
	/**
	 * Specifies the shadow blur size of a shape.
	 * cannot draw blur now, but can parse from vsdx now.
	 */
	setShapeShdwBlur(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Indicates a text-field insertion point for the corresponding Field element.
 */
class Fld {
	/**
	 * Constructor.
	 * @param {Number} IX - The zero-based index of the element Field within its parent element Shape.
	 * @param {Shape} shape - Shape.
	 */
	constructor(IX, shape) {
	}

	/**
	 * Value
	 */
	getValue() {
	}

}

/**
 * Contains a collection of doubling point numbers
 */
class FloatPointNumCollection {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Number}
	 */
	get(index) {
	}

	/**
	 * Add the doubling point number in the collection.
	 * @param {Number} number
	 * @return {Number}
	 */
	add(number) {
	}

	/**
	 * Remove the doubling point number from the collection.
	 * @param {Number} number
	 */
	remove(number) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents the folder that contains TrueType font files.
 */
class FolderFontSource {
	/**
	 * Ctor.
	 * @param {String} folderPath - path to fonts folder
	 * @param {boolean} scanSubfolders - Determines whether or not to scan subfolders.
	 */
	constructor(folderPath, scanSubfolders) {
	}

	/**
	 * Path to fonts folder.
	 */
	getFolderPath() {
	}

	/**
	 * Determines whether or not to scan the subfolders.
	 */
	getScanSubFolders() {
	}

	/**
	 * Returns the type of the font source.
	 * The value of the property is FontSourceType integer constant.
	 */
	getType() {
	}

}

/**
 * Contains information about a font.
 */
class Font {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The name of the font as a UTF-16 Unicode string.
	 */
	getName() {
	}
	/**
	 * The name of the font as a UTF-16 Unicode string.
	 */
	setName(value) {
	}

	/**
	 * The supported Unicode ranges of the font.
	 */
	getUnicodeRanges() {
	}
	/**
	 * The supported Unicode ranges of the font.
	 */
	setUnicodeRanges(value) {
	}

	/**
	 * The supported character sets of the font.
	 */
	getCharSets() {
	}
	/**
	 * The supported character sets of the font.
	 */
	setCharSets(value) {
	}

	/**
	 * The panose signature for the font. Panose is a classification system for typefaces that categorizes them based upon their visual characteristics.
	 */
	getPanos() {
	}
	/**
	 * The panose signature for the font. Panose is a classification system for typefaces that categorizes them based upon their visual characteristics.
	 */
	setPanos(value) {
	}

	/**
	 * Flags that indicate the following: missing font, default font, asian font, complex font, vertical font, and font type.
	 */
	getFlags() {
	}
	/**
	 * Flags that indicate the following: missing font, default font, asian font, complex font, vertical font, and font type.
	 */
	setFlags(value) {
	}

}

/**
 * Contains a collection of Font elements.
 */
class FontCollection {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Font}
	 */
	get(index) {
	}

	/**
	 * Add the Font object in the collection.
	 * @param {Font} font
	 * @return {Number}
	 */
	add(font) {
	}

	/**
	 * Remove the Font object from the collection.
	 * @param {Font} font
	 */
	remove(font) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID - int
	 * @return {Font} FontFont.
	 */
	getFont(ID) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies font settings
 */
class FontConfigs {
	/**
	 */
	constructor() {
	}

	/**
	 * Gets or sets the default font name.
	 */
	getDefaultFontName() {
	}
	/**
	 * Gets or sets the default font name.
	 */
	setDefaultFontName(value) {
	}

	/**
	 * Font substitute names for given original font name.
	 * @param {String} originalFontName - Original font name.
	 * @param {String[]} substituteFontNames - List of font substitute names to be used if original font is not presented.
	 */
	static setFontSubstitutes(originalFontName, substituteFontNames) {
	}

	/**
	 * Returns array containing font substitute names to be used if original font is not presented.
	 * @param {String} originalFontName - originalFontName
	 * @return {String[]} An array containing font substitute names to be used if original font is not presented.
	 */
	static getFontSubstitutes(originalFontName) {
	}

	/**
	 * Sets the fonts folder
	 * @param {String} fontFolder - The folder that contains TrueType fonts.
	 * @param {boolean} recursive - Determines whether or not to scan subfolders.
	 */
	static setFontFolder(fontFolder, recursive) {
	}

	/**
	 * Sets the fonts folders
	 * @param {String[]} fontFolders - The folders that contains TrueType fonts.
	 * @param {boolean} recursive - Determines whether or not to scan subfolders.
	 */
	static setFontFolders(fontFolders, recursive) {
	}

	/**
	 * Sets the fonts sources.
	 * @param {FontSourceBase[]} sources - An array of sources that contain TrueType fonts.
	 */
	static setFontSources(sources) {
	}

	/**
	 * Gets a copy of the array that contains the list of sources
	 * @return {FontSourceBase[]}
	 */
	static getFontSources() {
	}

}

/**
 * This is an abstract base class for the classes that allow the user to specify various font sources
 * @hideconstructor
 */
class FontSourceBase {
	/**
	 * Returns the type of the font source.
	 * The value of the property is FontSourceType integer constant.
	 */
	getType() {
	}

}

/**
 * Contains elements specifying the width and height of an object from another program used in a Microsoft Visio document. Also includes elements specifying the distance the object's image is offset within its borders.
 * @hideconstructor
 */
class Foreign {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Determines the distance the object is offset horizontally from the origin of the object's border. The default value is 0; the default formula is F="ImgWidth*0".
	 */
	getImgOffsetX() {
	}

	/**
	 * Determines the distance the object is offset vertically from the origin of the object's border. The default value is 0; the default formula is F="ImgHeight*0".
	 */
	getImgOffsetY() {
	}

	/**
	 * Determines the width of the object's image within its border. The default formula is: F="Width*1".
	 */
	getImgWidth() {
	}

	/**
	 * Determines the height of the object's image within its border. The default formula is: F="Height*1".
	 */
	getImgHeight() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded BLOB of picture data, such as Windows metafile, bitmap, or OLE data.
 * @hideconstructor
 */
class ForeignData {
	/**
	 * Represents image of ole object as byte array.
	 */
	getImageData() {
	}
	/**
	 * Represents image of ole object as byte array.
	 */
	setImageData(value) {
	}

	/**
	 * Represents embedded ole object data as byte array.
	 */
	getObjectData() {
	}
	/**
	 * Represents embedded ole object data as byte array.
	 */
	setObjectData(value) {
	}

	/**
	 * Data type.
	 * The value of the property is ForeignType integer constant.
	 */
	getForeignType() {
	}
	/**
	 * Data type.
	 * The value of the property is ForeignType integer constant.
	 */
	setForeignType(value) {
	}

	/**
	 * If the ForeignType attribute is "Object", the ForeignData element must also have an ObjectType attribute.
	 * The value of the property is ObjectType integer constant.
	 */
	getObjectType() {
	}
	/**
	 * If the ForeignType attribute is "Object", the ForeignData element must also have an ObjectType attribute.
	 * The value of the property is ObjectType integer constant.
	 */
	setObjectType(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is an OLE2 embedded object.
	 * The value of the property is BOOL integer constant.
	 */
	getShowAsIcon() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is an OLE2 embedded object.
	 * The value of the property is BOOL integer constant.
	 */
	setShowAsIcon(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is an OLE2 embedded object. The value expresses the width of the object in page units.
	 */
	getObjectWidth() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is an OLE2 embedded object. The value expresses the width of the object in page units.
	 */
	setObjectWidth(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is an OLE2 embedded object. The value expresses the height of the object in page units.
	 */
	getObjectHeight() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is an OLE2 embedded object. The value expresses the height of the object in page units.
	 */
	setObjectHeight(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is a metafile. The value indicates the metafile mapping mode.
	 */
	getMappingMode() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is a metafile. The value indicates the metafile mapping mode.
	 */
	setMappingMode(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is a metafile. The value indicates the horizontal extent of the metafile.
	 */
	getExtentX() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is a metafile. The value indicates the horizontal extent of the metafile.
	 */
	setExtentX(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is a metafile. The value indicates the vertical extent of the metafile.
	 */
	getExtentY() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is a metafile. The value indicates the vertical extent of the metafile.
	 */
	setExtentY(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is a raster-based foreign object, such as a DIB, JPG, PNG, TIFF, or GIF file. The value indicates the type of compression applied to the file.
	 * The value of the property is CompressionType integer constant.
	 */
	getCompressionType() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is a raster-based foreign object, such as a DIB, JPG, PNG, TIFF, or GIF file. The value indicates the type of compression applied to the file.
	 * The value of the property is CompressionType integer constant.
	 */
	setCompressionType(value) {
	}

	/**
	 * This attribute is only meaningful if the foreign data is a raster-based foreign object, such as a DIB, JPG, PNG, TIFF, or GIF file. The value indicates the level of compression applied to the file. Compression level is measured in hundreds of a percent.
	 */
	getCompressionLevel() {
	}
	/**
	 * This attribute is only meaningful if the foreign data is a raster-based foreign object, such as a DIB, JPG, PNG, TIFF, or GIF file. The value indicates the level of compression applied to the file. Compression level is measured in hundreds of a percent.
	 */
	setCompressionLevel(value) {
	}

	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded BLOB of picture data, such as Windows metafile, bitmap, or OLE data.
	 */
	getValue() {
	}
	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded BLOB of picture data, such as Windows metafile, bitmap, or OLE data.
	 */
	setValue(value) {
	}

	/**
	 * Returns the source full name of the source file for the linked OLE object.
	 * Only supports setting the source full name when the file type is OleFileType.Unknown.
	 * Such as wav file ,avi file..etc..
	 */
	getObjectSourceFullName() {
	}
	/**
	 * Returns the source full name of the source file for the linked OLE object.
	 * Only supports setting the source full name when the file type is OleFileType.Unknown.
	 * Such as wav file ,avi file..etc..
	 */
	setObjectSourceFullName(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Abstract class for formatting of text
 * @hideconstructor
 */
class FormatTxt {
	/**
	 * Value
	 */
	getValue() {
	}

}

/**
 * FormatTxt collection which contains the text of a shape.
 * @hideconstructor
 */
class FormatTxtCollection {
	/**
	 * Contains the text of a shape with formating.
	 */
	getText() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {FormatTxt}
	 */
	get(index) {
	}

	/**
	 * Add the FormatTxt object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the FormatTxt object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Set the text of a shape without formating.
	 * @param {String} text
	 */
	setWholeText(text) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains elements that specify the coordinates of the vertices for the lines and arcs that make up the shape. If the shape has more than one path, there is a Geom element for each path.
 */
class Geom {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Collection of coordinates. It shows sequence of coordinates.
	 */
	getCoordinateCol() {
	}

	/**
	 * Specifies whether a path can be filled.
	 */
	getNoFill() {
	}
	/**
	 * Specifies whether a path can be filled.
	 */
	setNoFill(value) {
	}

	/**
	 * Specifies whether a line is drawn around the boundary of the path.
	 */
	getNoLine() {
	}
	/**
	 * Specifies whether a line is drawn around the boundary of the path.
	 */
	setNoLine(value) {
	}

	/**
	 * Specifies whether a path is displayed on the drawing page.
	 */
	getNoShow() {
	}
	/**
	 * Specifies whether a path is displayed on the drawing page.
	 */
	setNoShow(value) {
	}

	/**
	 * Specifies whether other shapes snap to a path.
	 */
	getNoSnap() {
	}
	/**
	 * Specifies whether other shapes snap to a path.
	 */
	setNoSnap(value) {
	}

	/**
	 * Determines whether a shape can be selected or dragged when the user clicks the filled area defined by the Geometry section.
	 */
	getNoQuickDrag() {
	}
	/**
	 * Determines whether a shape can be selected or dragged when the user clicks the filled area defined by the Geometry section.
	 */
	setNoQuickDrag(value) {
	}

	/**
	 * Returns IX value for next shape's coordinate collection member.
	 */
	getNextCoordinateIX() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Geom collection.
 * @hideconstructor
 */
class GeomCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Geom}
	 */
	get(index) {
	}

	/**
	 * Add the Geom object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Geom object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * This class specifies a glow effect, in which a color blurred outline
 * is added outside the edges of the object.
 * @hideconstructor
 */
class GlowEffect {
	/**
	 * Gets and sets the radius of the glow, in unit of points.
	 */
	getSize() {
	}
	/**
	 * Gets and sets the radius of the glow, in unit of points.
	 */
	setSize(value) {
	}

}

/**
 * Specifies whether dynamic (shape-to-shape) glue is allowed when connecting to a shape.
 */
class GlueType {
	/**
	 * Constructor.
	 * @param {Number} value - GlueTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies whether dynamic (shape-to-shape) glue is allowed when connecting to a shape.
	 * The value of the property is GlueTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies whether dynamic (shape-to-shape) glue is allowed when connecting to a shape.
	 * The value of the property is GlueTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Represents the gradient fill.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("ShapewithGradientFill.vsdx");
 * // get page by name
 * page = diagram.getPages().getPage("Page-1");
 * // get shape by ID
 * shape = page.getShapes().getShape(1);
 * // get the gradient fill properties
 * gradientfill = shape.getFill().getGradientFill();
 * // get the gradient stops
 * stops = gradientfill.getGradientStops();
 * // get the gradient stop by index
 * stop = stops.get(0);
 * // set gradient stop properties
 * stop.getColor().getUfe().setF("");
 * stop.getPosition().setValue(0.5);
 * gradientfill.getGradientDir().setValue(aspose.diagram.GradientFillDir.RECTANGLE_FROM_BOTTOM_RIGHT);
 * gradientfill.getGradientAngle().setValue(0.7853981633974501);
 * diagram.save("out-ShapewithGradientFill.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class GradientFill {
	/**
	 * Represents the gradient stop collection.
	 */
	getGradientStops() {
	}

	/**
	 * Specifies the type of the fill color gradient
	 */
	getGradientDir() {
	}
	/**
	 * Specifies the type of the fill color gradient
	 */
	setGradientDir(value) {
	}

	/**
	 * Specifies the orientation of the fill color gradient
	 */
	getGradientAngle() {
	}
	/**
	 * Specifies the orientation of the fill color gradient
	 */
	setGradientAngle(value) {
	}

	/**
	 * Specifies whether the fill color gradient is visible.
	 */
	getGradientEnabled() {
	}
	/**
	 * Specifies whether the fill color gradient is visible.
	 */
	setGradientEnabled(value) {
	}

}

/**
 * Represents the gradient stop.
 */
class GradientStop {
	/**
	 */
	constructor() {
	}

	/**
	 * The position of the stop.
	 */
	getPosition() {
	}
	/**
	 * The position of the stop.
	 */
	setPosition(value) {
	}

	/**
	 * Gets the color of this gradient stop.
	 */
	getColor() {
	}
	/**
	 * Gets the color of this gradient stop.
	 */
	setColor(value) {
	}

	/**
	 * Returns or sets the degree of transparency of the area as a value from 0.0 (opaque) through 1.0 (clear).
	 */
	getTransparency() {
	}
	/**
	 * Returns or sets the degree of transparency of the area as a value from 0.0 (opaque) through 1.0 (clear).
	 */
	setTransparency(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Represents the gradient stop collection.
 * @hideconstructor
 */
class GradientStopCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the gradient stop by the index.
	 * @param {Number} index - The index.
	 * @return {GradientStop} The gradient stop.
	 */
	get(index) {
	}
	/**
	 * Gets the gradient stop by the index.
	 * @param {Number} index - The index.
	 * @return {GradientStop} The gradient stop.
	 */
	set(index, value) {
	}

	/**
	 * Add a gradient stop.
	 * @param {DoubleValue} position - The position of the stop,in unit of percentage.
	 * @param {ColorValue} color - The color of the stop.
	 * @param {} alpha - The alpha of the color.
	 */
	add(position, color) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies the type of horizontal/vertical grid to use for a page.
 */
class GridDensity {
	/**
	 * Constructor.
	 * @param {Number} value - GridDensityValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of horizontal/vertical grid to use for a page.
	 * The value of the property is GridDensityValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of horizontal/vertical grid to use for a page.
	 * The value of the property is GridDensityValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that control how you add shapes to a group, move members of a group, and select groups.
 * @hideconstructor
 */
class Group {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies how the user selects a group shape and its members.
	 */
	getSelectMode() {
	}
	/**
	 * Specifies how the user selects a group shape and its members.
	 */
	setSelectMode(value) {
	}

	/**
	 * When it is contained in a Group element, the DisplayMode element specifies how a group shape and its members are displayed.
	 */
	getDisplayMode() {
	}
	/**
	 * When it is contained in a Group element, the DisplayMode element specifies how a group shape and its members are displayed.
	 */
	setDisplayMode(value) {
	}

	/**
	 * Specifies whether the group allows a shape to be added to it when the shape is dropped on the group.
	 */
	isDropTarget() {
	}
	/**
	 * Specifies whether the group allows a shape to be added to it when the shape is dropped on the group.
	 */
	setDropTarget(value) {
	}

	/**
	 * Specifies whether snapping to a group or to shapes within the group is enabled.
	 */
	isSnapTarget() {
	}
	/**
	 * Specifies whether snapping to a group or to shapes within the group is enabled.
	 */
	setSnapTarget(value) {
	}

	/**
	 * Specifies how to assign text to a group.
	 */
	isTextEditTarget() {
	}
	/**
	 * Specifies how to assign text to a group.
	 */
	setTextEditTarget(value) {
	}

	/**
	 * Specifies whether you can drag shapes in a group by using the mouse.
	 */
	getDontMoveChildren() {
	}
	/**
	 * Specifies whether you can drag shapes in a group by using the mouse.
	 */
	setDontMoveChildren(value) {
	}

}

/**
 * Contains elements for a document's header and footer.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("ManageHeadersandFooters.vsdx");
 * // add page number at the right corner of header
 * diagram.getHeaderFooter().setHeaderRight("&p");
 * // set text at the center
 * diagram.getHeaderFooter().setHeaderCenter("Center of the header");
 * // set text at the left side
 * diagram.getHeaderFooter().setHeaderLeft("Left of the header");
 * // add text at the right corner of footer
 * diagram.getHeaderFooter().setFooterRight("Right of the footer");
 * // set text at the center
 * diagram.getHeaderFooter().setFooterCenter("Center of the footer");
 * // set text at the left side
 * diagram.getHeaderFooter().setFooterLeft("Left of the footer");
 * // set header & footer color
 * diagram.getHeaderFooter().setHeaderFooterColor(aspose.diagram.Color.getRed());
 * // set text font properties
 * diagram.getHeaderFooter().getHeaderFooterFont().setItalic(aspose.diagram.BOOL.TRUE);
 * diagram.getHeaderFooter().getHeaderFooterFont().setUnderline(aspose.diagram.BOOL.FALSE);
 * diagram.save("out-ManageHeadersandFooters.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class HeaderFooter {
	/**
	 * Specifies the margin of a document's footer.
	 */
	getHeaderMargin() {
	}
	/**
	 * Specifies the margin of a document's footer.
	 */
	setHeaderMargin(value) {
	}

	/**
	 * Specifies the margin of a document's footer.
	 */
	getFooterMargin() {
	}
	/**
	 * Specifies the margin of a document's footer.
	 */
	setFooterMargin(value) {
	}

	/**
	 * The RGB value of the text color for the header and footer.
	 */
	getHeaderFooterColor() {
	}

	/**
	 * Contains the text string that appears in the left portion of a document's header.
	 */
	getHeaderLeft() {
	}
	/**
	 * Contains the text string that appears in the left portion of a document's header.
	 */
	setHeaderLeft(value) {
	}

	/**
	 * Contains the text string that appears in the center portion of a document's header.
	 */
	getHeaderCenter() {
	}
	/**
	 * Contains the text string that appears in the center portion of a document's header.
	 */
	setHeaderCenter(value) {
	}

	/**
	 * Contains the text string that appears in the right portion of a document's header.
	 */
	getHeaderRight() {
	}
	/**
	 * Contains the text string that appears in the right portion of a document's header.
	 */
	setHeaderRight(value) {
	}

	/**
	 * Contains the text string that appears in the left portion of a document's footer.
	 */
	getFooterLeft() {
	}
	/**
	 * Contains the text string that appears in the left portion of a document's footer.
	 */
	setFooterLeft(value) {
	}

	/**
	 * Contains the text string that appears in the center portion of a document's footer.
	 */
	getFooterCenter() {
	}
	/**
	 * Contains the text string that appears in the center portion of a document's footer.
	 */
	setFooterCenter(value) {
	}

	/**
	 * Contains the text string that appears in the right portion of a document's footer.
	 */
	getFooterRight() {
	}
	/**
	 * Contains the text string that appears in the right portion of a document's footer.
	 */
	setFooterRight(value) {
	}

	/**
	 * Specifies the font used for the header and footer text.
	 */
	getHeaderFooterFont() {
	}

}

/**
 * Specifies the font used for the header and footer text.
 * @hideconstructor
 */
class HeaderFooterFont {
	/**
	 * Specifies the height of the font. Equivalent to the GDI LOGFONT lfHeight field.
	 */
	getHeight() {
	}
	/**
	 * Specifies the height of the font. Equivalent to the GDI LOGFONT lfHeight field.
	 */
	setHeight(value) {
	}

	/**
	 * Specifies the width of the font. Equivalent to the GDI LOGFONT lfWidth field.
	 */
	getWidth() {
	}
	/**
	 * Specifies the width of the font. Equivalent to the GDI LOGFONT lfWidth field.
	 */
	setWidth(value) {
	}

	/**
	 * Specifies the escapement attribute of the font. Equivalent to the GDI LOGFONT lfEscapement field.
	 */
	getEscapement() {
	}
	/**
	 * Specifies the escapement attribute of the font. Equivalent to the GDI LOGFONT lfEscapement field.
	 */
	setEscapement(value) {
	}

	/**
	 * Specifies the orientation of the font. Equivalent to the GDI LOGFONT lfOrientation field.
	 */
	getOrientation() {
	}
	/**
	 * Specifies the orientation of the font. Equivalent to the GDI LOGFONT lfOrientation field.
	 */
	setOrientation(value) {
	}

	/**
	 * Specifies the weight of the font. Equivalent to the GDI LOGFONT lfWeight field.
	 */
	getWeight() {
	}
	/**
	 * Specifies the weight of the font. Equivalent to the GDI LOGFONT lfWeight field.
	 */
	setWeight(value) {
	}

	/**
	 * Specifies the weight of the font. Equivalent to the GDI LOGFONT lfWeight field.
	 * The value of the property is BOOL integer constant.
	 */
	getItalic() {
	}
	/**
	 * Specifies the weight of the font. Equivalent to the GDI LOGFONT lfWeight field.
	 * The value of the property is BOOL integer constant.
	 */
	setItalic(value) {
	}

	/**
	 * Specifies whether the font is underlined. Equivalent to the GDI LOGFONT lfUnderline field.
	 * The value of the property is BOOL integer constant.
	 */
	getUnderline() {
	}
	/**
	 * Specifies whether the font is underlined. Equivalent to the GDI LOGFONT lfUnderline field.
	 * The value of the property is BOOL integer constant.
	 */
	setUnderline(value) {
	}

	/**
	 * Specifies whether the font is a strikeout font. Equivalent to the GDI LOGFONT lfStrikeOut field.
	 * The value of the property is BOOL integer constant.
	 */
	getStrikeOut() {
	}
	/**
	 * Specifies whether the font is a strikeout font. Equivalent to the GDI LOGFONT lfStrikeOut field.
	 * The value of the property is BOOL integer constant.
	 */
	setStrikeOut(value) {
	}

	/**
	 * Specifies the character set of the font. Equivalent to the GDI LOGFONT lfCharSet field.
	 */
	getCharSet() {
	}
	/**
	 * Specifies the character set of the font. Equivalent to the GDI LOGFONT lfCharSet field.
	 */
	setCharSet(value) {
	}

	/**
	 * Specifies the output precision attribute of the font. Equivalent to the GDI LOGFONT lfOutPrecision field.
	 */
	getOutPrecision() {
	}
	/**
	 * Specifies the output precision attribute of the font. Equivalent to the GDI LOGFONT lfOutPrecision field.
	 */
	setOutPrecision(value) {
	}

	/**
	 * Specifies the clipping precision of the font. Equivalent to the GDI LOGFONT lfClipPrecision field.
	 */
	getClipPrecision() {
	}
	/**
	 * Specifies the clipping precision of the font. Equivalent to the GDI LOGFONT lfClipPrecision field.
	 */
	setClipPrecision(value) {
	}

	/**
	 * Specifies the output quality of the font. Equivalent to the GDI LOGFONT lfQuality field.
	 */
	getQuality() {
	}
	/**
	 * Specifies the output quality of the font. Equivalent to the GDI LOGFONT lfQuality field.
	 */
	setQuality(value) {
	}

	/**
	 * Specifies the pitch and family of the font. Equivalent to the GDI LOGFONT lfPitchAndFamily field.
	 */
	getPitchAndFamily() {
	}
	/**
	 * Specifies the pitch and family of the font. Equivalent to the GDI LOGFONT lfPitchAndFamily field.
	 */
	setPitchAndFamily(value) {
	}

	/**
	 * Specifies the type face name attribute of the font. Equivalent to the GDI LOGFONT lfFaceName field.
	 */
	getFaceName() {
	}
	/**
	 * Specifies the type face name attribute of the font. Equivalent to the GDI LOGFONT lfFaceName field.
	 */
	setFaceName(value) {
	}

}

/**
 * Contains elements specifying the Shape element's Help file topic and copyright information.
 * @hideconstructor
 */
class Help {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the Shape element's Help topic ID.
	 */
	getHelpTopic() {
	}

	/**
	 * Contains a string representing a human-readable copyright statement.
	 */
	getCopyright() {
	}

}

/**
 * Specifies the horizontal alignment of text in the shape's text block.
 */
class HorzAlign {
	/**
	 * Constructor.
	 * @param {Number} value - HorzAlignValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the horizontal alignment of text in the shape's text block.
	 * The value of the property is HorzAlignValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the horizontal alignment of text in the shape's text block.
	 * The value of the property is HorzAlignValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Allows to specify additional options when rendering diagram pages to HTML.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("VisioSaveOptions.vsdx");
 * // Options when saving a diagram into Visio format
 * options = new aspose.diagram.HTMLSaveOptions();
 * // value or the font is not installed locally, they may appear as a
 * // block,
 * // set the DefaultFont such as MingLiu or MS Gothic to show these
 * // characters.
 * options.setDefaultFont("MS Gothic");
 * // sets the number of pages to render in HTML.
 * options.setPageCount(2);
 * // sets the 0-based index of the first page to render. Default is 0.
 * options.setPageIndex(0);
 * // set page size
 * pgSize = new aspose.diagram.PageSize(aspose.diagram.PaperSizeFormat.A_1);
 * options.setPageSize(pgSize);
 * // discard saving background pages of the Visio diagram
 * options.setSaveForegroundPagesOnly(true);
 * // specify whether to include the toolbar or not. Default value is true.
 * options.setSaveToolBar(false);
 * // set title of the HTML document
 * options.setTitle("Title goes here");
 * // Specify that you want to save tile or not
 * options.setSaveTitle(true);
 * // save in any supported file format
 * diagram.save("out-UseHTMLSaveOptions.html", options);
 */
class HTMLSaveOptions {
	/**
	 * Initializes a new instance of this class that can be used to save a document in the SaveFileFormat format.
	 */
	constructor() {
	}

	/**
	 * Gets or sets the title of diagram to render in HTML.
	 * If Title is null Diagram.DocumentProperties.Title DocumentProperties will be  used as Title.
	 * If Diagram.DocumentProperties.Title is null or empty the file name of Diagram will be used as Title.
	 */
	getTitle() {
	}
	/**
	 * Gets or sets the title of diagram to render in HTML.
	 * If Title is null Diagram.DocumentProperties.Title DocumentProperties will be  used as Title.
	 * If Diagram.DocumentProperties.Title is null or empty the file name of Diagram will be used as Title.
	 */
	setTitle(value) {
	}

	/**
	 * Gets or sets the number of pages to render in HTML.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	getPageCount() {
	}
	/**
	 * Gets or sets the number of pages to render in HTML.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	setPageCount(value) {
	}

	/**
	 * Specifies whether saving toolbar
	 * The default value is true.
	 */
	getSaveToolBar() {
	}
	/**
	 * Specifies whether saving toolbar
	 * The default value is true.
	 */
	setSaveToolBar(value) {
	}

	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	getPageIndex() {
	}
	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	setPageIndex(value) {
	}

	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	getExportHiddenPage() {
	}
	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	setExportHiddenPage(value) {
	}

	/**
	 * Defines whether need exporting the title or not.
	 * Default value is true.
	 */
	getSaveTitle() {
	}
	/**
	 * Defines whether need exporting the title or not.
	 * Default value is true.
	 */
	setSaveTitle(value) {
	}

	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	getSaveForegroundPagesOnly() {
	}
	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	setSaveForegroundPagesOnly(value) {
	}

	/**
	 * Gets or sets the IStreamProvider for exporting objects.
	 */
	getStreamProvider() {
	}
	/**
	 * Gets or sets the IStreamProvider for exporting objects.
	 */
	setStreamProvider(value) {
	}

	/**
	 * Indicates whether save the html as single file.
	 * The default value is false.
	 * If there are multiple pages,those pages and other resources need to be saved into separate files.
	 * For some scenarios, user maybe need to get only one resultant file such as for the convenience of transferring.
	 * If so, user may set this property as true.
	 */
	getSaveAsSingleFile() {
	}
	/**
	 * Indicates whether save the html as single file.
	 * The default value is false.
	 * If there are multiple pages,those pages and other resources need to be saved into separate files.
	 * For some scenarios, user maybe need to get only one resultant file such as for the convenience of transferring.
	 * If so, user may set this property as true.
	 */
	setSaveAsSingleFile(value) {
	}

	/**
	 * Gets or sets the resolution for the generated html, in dots per inch.
	 * This property has effect only when saving to html.
	 * The default value is 96.
	 */
	getResolution() {
	}
	/**
	 * Gets or sets the resolution for the generated html, in dots per inch.
	 * This property has effect only when saving to html.
	 * The default value is 96.
	 */
	setResolution(value) {
	}

	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	getPageSize() {
	}
	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	setPageSize(value) {
	}

	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	getShapes() {
	}
	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	setShapes(value) {
	}

	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	getExportGuideShapes() {
	}
	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	setExportGuideShapes(value) {
	}

	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	isExportComments() {
	}
	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	setExportComments(value) {
	}

	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	getEnlargePage() {
	}
	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	setEnlargePage(value) {
	}

	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	getEmfRenderSetting() {
	}
	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	setEmfRenderSetting(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Contains elements for creating multiple jumps between a shape or drawing page and another drawing page, another file, or a Web site.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("Hyperlinks.vsdx");
 * // get page by name
 * var page = diagram.getPages().getPage("Page-1");
 * // get shape by ID
 * var shape = page.getShapes().getShape(2);
 * // initialize Hyperlink object
 * var hyperlink = new aspose.diagram.Hyperlink();
 * // set address value
 * hyperlink.getAddress().setValue("https://www.aspose.com/");
 * // set sub address value
 * hyperlink.getSubAddress().setValue("Sub address here");
 * // set description value
 * hyperlink.getDescription().setValue("Description here");
 * // set name
 * hyperlink.setName("MyHyperLink");
 * // add hyperlink to the shape
 * shape.getHyperlinks().add(hyperlink);
 * diagram.save("out-AddHyperlinkToShape.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class Hyperlink {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Description element contains a text string that describes the hyperlink.
	 */
	getDescription() {
	}

	/**
	 * Specifies a URL address, DOS file name, or UNC path to jump to.
	 */
	getAddress() {
	}

	/**
	 * Specifies a location within the target document to link to.
	 */
	getSubAddress() {
	}

	/**
	 * Contains information to be used in resolving a URL, such as the coordinates of an image map. For example, x=41 y=7 would specify the coordinates of an image map.
	 */
	getExtraInfo() {
	}

	/**
	 * Contains the name of a frame to target when Microsoft Visio is open as an active document in a container application. The default is an empty string.
	 */
	getFrame() {
	}

	/**
	 * Specifies whether Microsoft Visio opens a window in a new location when it follows a hyperlink to open a Web page or another Visio document.
	 */
	getNewWindow() {
	}

	/**
	 * Specifies the default hyperlink for a shape or page.
	 */
	getDefault() {
	}

	/**
	 * Invisible element indicates whether a hyperlink appears on the shortcut menu for a shape or page.
	 */
	getInvisible() {
	}

	/**
	 * Invisible element indicates whether a hyperlink appears on the shortcut menu for a shape or page.
	 */
	getSortKey() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Hyperlink collection.
 * @hideconstructor
 */
class HyperlinkCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Hyperlink}
	 */
	get(index) {
	}

	/**
	 * Add the Hyperlink object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Hyperlink object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains the gamma, brightness, contrast, blur, sharpen, denoise, and transparency values for a bitmap.
 * @hideconstructor
 */
class Image {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Adjusts or corrects the intensity of an image for a particular output device, such as a monitor or scanner. The default value is 1 (no correction.
	 */
	getGamma() {
	}

	/**
	 * Specifies the contrast of a bitmap image. The Contrast element contains a value between 0 and 1.
	 */
	getContrast() {
	}

	/**
	 * Adjusts the brightness of a bitmap image. The Brightness element contains a value between 0 and 1; the default value is 0.5.
	 */
	getBrightness() {
	}

	/**
	 * Specifies the amount to sharpen a bitmap image. Sharpening an image focuses it by increasing the contrast of adjacent pixels.
	 */
	getSharpen() {
	}

	/**
	 * Blurs or softens a bitmap image. The Blur element contains a value between 0 and 1; the default value is 0.
	 */
	getBlur() {
	}

	/**
	 * Removes noise (pixels that have randomly distributed color levels) from a bitmap image.
	 */
	getDenoise() {
	}

	/**
	 * Specifies the transparency level for a layer color, from 0 (opaque) to 1 (completely transparent).
	 */
	getTransparency() {
	}

}

/**
 * Represents the image control.
 * @hideconstructor
 */
class ImageActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBorderOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBorderOleColor(value) {
	}

	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	getBorderStyle() {
	}
	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	setBorderStyle(value) {
	}

	/**
	 * Gets and sets how to display the picture.
	 * The value of the property is ControlPictureSizeMode integer constant.
	 */
	getPictureSizeMode() {
	}
	/**
	 * Gets and sets how to display the picture.
	 * The value of the property is ControlPictureSizeMode integer constant.
	 */
	setPictureSizeMode(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Gets and sets the data of the picture.
	 */
	getPicture() {
	}
	/**
	 * Gets and sets the data of the picture.
	 */
	setPicture(value) {
	}

	/**
	 * Gets and sets the alignment of the picture inside the Form or Image.
	 * The value of the property is ControlPictureAlignmentType integer constant.
	 */
	getPictureAlignment() {
	}
	/**
	 * Gets and sets the alignment of the picture inside the Form or Image.
	 * The value of the property is ControlPictureAlignmentType integer constant.
	 */
	setPictureAlignment(value) {
	}

	/**
	 * Indicates whether the picture is tiled across the background.
	 */
	isTiled() {
	}
	/**
	 * Indicates whether the picture is tiled across the background.
	 */
	setTiled(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Allows to specify additional options when rendering diagram pages to images.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("VisioSaveOptions.vsdx");
 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
 * // specify the quality level to use during compositing.
 * options.setCompositingQuality(aspose.diagram.CompositingQuality.HIGH_QUALITY);
 * // sets the brightness for the the generated images.
 * // this property has effect only when saving to raster image formats.
 * // The default value is 0.5. The value must be in the range between 0
 * // and 1.
 * options.setImageBrightness(1.0);
 * // value or the font is not installed locally, they may appear as a
 * // block,
 * // set the DefaultFont such as MingLiu or MS Gothic to show these
 * // characters.
 * options.setDefaultFont("MS Gothic");
 * // sets the number of pages to render in image.
 * options.setPageCount(2);
 * // sets the 0-based index of the first page to render. Default is 0.
 * options.setPageIndex(0);
 * // set page size
 * pgSize = new aspose.diagram.PageSize(aspose.diagram.PaperSizeFormat.A_1);
 * options.setPageSize(pgSize);
 * // discard saving background pages of the Visio diagram
 * options.setSaveForegroundPagesOnly(true);
 * // sets the color mode for the generated images.
 * options.setImageColorMode(aspose.diagram.ImageColorMode.BLACK_AND_WHITE);
 * // sets the contrast for the generated images.
 * // this property has effect only when saving to raster image formats.
 * // the default value is 0.5. The value must be in the range between 0
 * // and 1.
 * options.setImageContrast(1.0);
 * // specify the algorithm that is used when images are scaled or rotated.
 * // this property has effect only when saving to raster image formats.
 * options.setInterpolationMode(aspose.diagram.InterpolationMode.NEAREST_NEIGHBOR);
 * // the value may vary from 0 to 100 where 0 means worst quality,
 * // but maximum compression and 100 means best quality but minimum
 * // compression.
 * // the default value is 95.
 * options.setJpegQuality(100);
 * // set a value specifying how pixels are offset during rendering.
 * options.setPixelOffsetMode(aspose.diagram.PixelOffsetMode.HIGH_SPEED);
 * // sets the resolution for the generated images, in dots per inch. The
 * // default value is 96.
 * options.setResolution(2.0);
 * // sets the zoom factor for the generated images.
 * // the default value is 1.0. The value must be greater than 0.
 * options.setScale(1.0);
 * // specify whether smoothing (antialiasing) is applied to lines
 * // and curves and the edges of filled areas.
 * options.setSmoothingMode(aspose.diagram.SmoothingMode.HIGH_QUALITY);
 * // sets the type of compression to apply when saving generated images to
 * // the TIFF format.
 * options.setTiffCompression(aspose.diagram.TiffCompression.CCITT_3);
 * // save in any supported file format
 * diagram.save("out-UseImageSaveOptions.jpeg", options);
 */
class ImageSaveOptions {
	/**
	 * Initializes a new instance of this class that can be used to save rendered images in the SaveFileFormat,
	 * SaveFileFormat, SaveFileFormat, SaveFileFormat
	 * or SaveFileFormat format.
	 * @param {Number} saveFormat - SaveFileFormat
	 */
	constructor(saveFormat) {
	}

	/**
	 * Gets or sets the brightness for the the generated images.
	 * This property has effect only when saving to raster image formats.
	 * The default value is 0.5. The value must be in the range between 0 and 1.
	 */
	getImageBrightness() {
	}
	/**
	 * Gets or sets the brightness for the the generated images.
	 * This property has effect only when saving to raster image formats.
	 * The default value is 0.5. The value must be in the range between 0 and 1.
	 */
	setImageBrightness(value) {
	}

	/**
	 * Gets or sets the color mode for the generated images.
	 * The value of the property is ImageColorMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is ImageColorMode.
	 */
	getImageColorMode() {
	}
	/**
	 * Gets or sets the color mode for the generated images.
	 * The value of the property is ImageColorMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is ImageColorMode.
	 */
	setImageColorMode(value) {
	}

	/**
	 * Gets or sets the contrast for the generated images.
	 * This property has effect only when saving to raster image formats.
	 * The default value is 0.5. The value must be in the range between 0 and 1.
	 */
	getImageContrast() {
	}
	/**
	 * Gets or sets the contrast for the generated images.
	 * This property has effect only when saving to raster image formats.
	 * The default value is 0.5. The value must be in the range between 0 and 1.
	 */
	setImageContrast(value) {
	}

	/**
	 * Gets or sets a value determining the quality of the generated JPEG images.
	 * Has effect only when saving to JPEG.
	 * Use this property to get or set the quality of generated images when saving in JPEG format.
	 * The value may vary from 0 to 100 where 0 means worst quality but maximum compression and 100 means best quality but minimum compression.
	 * The default value is 95.
	 */
	getJpegQuality() {
	}
	/**
	 * Gets or sets a value determining the quality of the generated JPEG images.
	 * Has effect only when saving to JPEG.
	 * Use this property to get or set the quality of generated images when saving in JPEG format.
	 * The value may vary from 0 to 100 where 0 means worst quality but maximum compression and 100 means best quality but minimum compression.
	 * The default value is 95.
	 */
	setJpegQuality(value) {
	}

	/**
	 * Gets or sets the number of pages to render when saving to a multipage TIFF file.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	getPageCount() {
	}
	/**
	 * Gets or sets the number of pages to render when saving to a multipage TIFF file.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	setPageCount(value) {
	}

	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("ExportPageToImage.vsd");
	 * // Save diagram as PNG
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.PNG);
	 * // Save one page only, by page index
	 * options.setPageIndex(0);
	 * // Save resultant Image file
	 * diagram.save("out-ExportPageToImage.png", options);
	 */
	getPageIndex() {
	}
	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("ExportPageToImage.vsd");
	 * // Save diagram as PNG
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.PNG);
	 * // Save one page only, by page index
	 * options.setPageIndex(0);
	 * // Save resultant Image file
	 * diagram.save("out-ExportPageToImage.png", options);
	 */
	setPageIndex(value) {
	}

	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	getExportHiddenPage() {
	}
	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	setExportHiddenPage(value) {
	}

	/**
	 * Gets or sets the resolution for the generated images, in dots per inch.
	 * This property has effect only when saving to raster image formats.
	 * The default value is 96.
	 */
	getResolution() {
	}
	/**
	 * Gets or sets the resolution for the generated images, in dots per inch.
	 * This property has effect only when saving to raster image formats.
	 * The default value is 96.
	 */
	setResolution(value) {
	}

	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat, SaveFileFormat,
	 * SaveFileFormat, SaveFileFormat or SaveFileFormat.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat, SaveFileFormat,
	 * SaveFileFormat, SaveFileFormat or SaveFileFormat.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * Gets or sets the zoom factor for the generated images.
	 * The default value is 1.0. The value must be greater than 0.
	 */
	getScale() {
	}
	/**
	 * Gets or sets the zoom factor for the generated images.
	 * The default value is 1.0. The value must be greater than 0.
	 */
	setScale(value) {
	}

	/**
	 * This parameter is similar with scale, but not effect the generated image size.
	 * The default value is 1.0. The value must be greater than 0.
	 */
	getContentZoom() {
	}
	/**
	 * This parameter is similar with scale, but not effect the generated image size.
	 * The default value is 1.0. The value must be greater than 0.
	 */
	setContentZoom(value) {
	}

	/**
	 * Gets or sets the type of compression to apply when saving generated images to the TIFF format.
	 * The value of the property is TiffCompression integer constant.
	 * Has effect only when saving to TIFF.
	 * The default value is TiffCompression.
	 */
	getTiffCompression() {
	}
	/**
	 * Gets or sets the type of compression to apply when saving generated images to the TIFF format.
	 * The value of the property is TiffCompression integer constant.
	 * Has effect only when saving to TIFF.
	 * The default value is TiffCompression.
	 */
	setTiffCompression(value) {
	}

	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	getSaveForegroundPagesOnly() {
	}
	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	setSaveForegroundPagesOnly(value) {
	}

	/**
	 * Specifies whether saving area same as pdf .
	 * If true - rendered area same as pdf.
	 * If false - rendered area default.
	 * The default value is false.
	 */
	getSameAsPdfConversionArea() {
	}
	/**
	 * Specifies whether saving area same as pdf .
	 * If true - rendered area same as pdf.
	 * If false - rendered area default.
	 * The default value is false.
	 */
	setSameAsPdfConversionArea(value) {
	}

	/**
	 * Gets or set a value specifying how pixels are offset during rendering.
	 * The value of the property is PixelOffsetMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is PixelOffsetMode.
	 */
	getPixelOffsetMode() {
	}
	/**
	 * Gets or set a value specifying how pixels are offset during rendering.
	 * The value of the property is PixelOffsetMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is PixelOffsetMode.
	 */
	setPixelOffsetMode(value) {
	}

	/**
	 * Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas.
	 * The value of the property is SmoothingMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is SmoothingMode.
	 */
	getSmoothingMode() {
	}
	/**
	 * Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas.
	 * The value of the property is SmoothingMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is SmoothingMode.
	 */
	setSmoothingMode(value) {
	}

	/**
	 * Specifies the quality level to use during compositing.
	 * The value of the property is CompositingQuality integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is CompositingQuality.
	 */
	getCompositingQuality() {
	}
	/**
	 * Specifies the quality level to use during compositing.
	 * The value of the property is CompositingQuality integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is CompositingQuality.
	 */
	setCompositingQuality(value) {
	}

	/**
	 * Specifies the algorithm that is used when images are scaled or rotated.
	 * The value of the property is InterpolationMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is InterpolationMode.
	 */
	getInterpolationMode() {
	}
	/**
	 * Specifies the algorithm that is used when images are scaled or rotated.
	 * The value of the property is InterpolationMode integer constant.
	 * This property has effect only when saving to raster image formats.
	 * The default value is InterpolationMode.
	 */
	setInterpolationMode(value) {
	}

	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	getPageSize() {
	}
	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	setPageSize(value) {
	}

	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	getShapes() {
	}
	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	setShapes(value) {
	}

	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	getExportGuideShapes() {
	}
	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	setExportGuideShapes(value) {
	}

	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	isExportComments() {
	}
	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	setExportComments(value) {
	}

	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	getEnlargePage() {
	}
	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	setEnlargePage(value) {
	}

	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	getEmfRenderSetting() {
	}
	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	setEmfRenderSetting(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Font configs for each Diagram object.
 */
class IndividualFontConfigs {
	/**
	 * Ctor.
	 */
	constructor() {
	}

	/**
	 * Sets the fonts folder
	 * @param {String} fontFolder - The folder that contains TrueType fonts.
	 * @param {boolean} recursive - Determines whether or not to scan subfolders.
	 */
	setFontFolder(fontFolder, recursive) {
	}

	/**
	 * Sets the fonts folders
	 * @param {String[]} fontFolders - The folders that contains TrueType fonts.
	 * @param {boolean} recursive - Determines whether or not to scan subfolders.
	 */
	setFontFolders(fontFolders, recursive) {
	}

	/**
	 * Sets the fonts sources.
	 * @param {FontSourceBase[]} sources - An array of sources that contain TrueType fonts.
	 */
	setFontSources(sources) {
	}

	/**
	 * Gets a copy of the array that contains the list of sources
	 * @return {FontSourceBase[]}
	 */
	getFontSources() {
	}

}

/**
 * Contains elements specifying the x- and y-coordinates of two points on an infinite line. The X and Y elements specify the x- and y-coordinates of the first point, and the A and B elements specify the x- and y-coordinates of the second point.
 */
class InfiniteLine {
	/**
	 * Creates an instance of the InfiniteLine class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * An x-coordinate of a point on the infinite line.
	 */
	getX() {
	}
	/**
	 * An x-coordinate of a point on the infinite line.
	 */
	setX(value) {
	}

	/**
	 * A y-coordinate of a point on the infinite line.
	 */
	getY() {
	}
	/**
	 * A y-coordinate of a point on the infinite line.
	 */
	setY(value) {
	}

	/**
	 * An x-coordinate of a point on the infinite line  paired with the y-coordinate represented by the B element.
	 */
	getA() {
	}
	/**
	 * An x-coordinate of a point on the infinite line  paired with the y-coordinate represented by the B element.
	 */
	setA(value) {
	}

	/**
	 * A y-coordinate of a point on an infinite line   paired with an x-coordinate represented by the A element.
	 */
	getB() {
	}
	/**
	 * A y-coordinate of a point on an infinite line   paired with an x-coordinate represented by the A element.
	 */
	setB(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * InfiniteLine collection.
 * @hideconstructor
 */
class InfiniteLineCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @return {InfiniteLine}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents all operator about the interrupt.
 */
class InterruptMonitor {
	/**
	 */
	constructor() {
	}

	/**
	 * Mark the monitor as requesting interruption
	 */
	isInterruptionRequested() {
	}

	/**
	 * Interrupt the current operator.
	 */
	interrupt() {
	}

}

/**
 * Integer value
 */
class IntValue {
	/**
	 * Constructor.
	 * @param {Number} value
	 * @param {Number} unit - MeasureConst
	 */
	constructor(value, unit) {
	}

	/**
	 * Integer value.
	 */
	getValue() {
	}
	/**
	 * Integer value.
	 */
	setValue(value) {
	}

	/**
	 */
	isThemed() {
	}
	/**
	 */
	setThemed(value) {
	}

	/**
	 * Attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Represents a single validation issue in the document.
 */
class Issue {
	/**
	 * Constructor
	 */
	constructor() {
	}

	/**
	 * Specifies the unique identifier of the validation issue.
	 */
	getID() {
	}
	/**
	 * Specifies the unique identifier of the validation issue.
	 */
	setID(value) {
	}

	/**
	 * Specifies whether the validation issue is currently ignored. The default is False.
	 * The value of the property is BOOL integer constant.
	 */
	getIgnored() {
	}
	/**
	 * Specifies whether the validation issue is currently ignored. The default is False.
	 * The value of the property is BOOL integer constant.
	 */
	setIgnored(value) {
	}

	/**
	 * Depending on the target of the parent validation issue, specifies either the page, or both the page and the shape, that the parent validation issue is associated with. If the target of the parent validation issue is a document, IssueTarget specifies neither a page nor a shape.
	 */
	getIssueTarget() {
	}

	/**
	 * Specifies information about the validation rule that the parent validation issue pertains to.
	 */
	getRuleInfo() {
	}

}

/**
 * Issue collection.
 * @hideconstructor
 */
class IssueCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Issue}
	 */
	get(index) {
	}

	/**
	 * Add the issue in the collection.
	 * @param {Issue} issue
	 * @return {Number}
	 */
	add(issue) {
	}

	/**
	 * Remove the issue from the collection.
	 * @param {Issue} issue
	 */
	remove(issue) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Depending on the target of the parent validation issue, specifies either the page, or both the page and the shape, that the parent validation issue is associated with. If the target of the parent validation issue is a document, IssueTarget specifies neither a page nor a shape.
 */
class IssueTarget {
	/**
	 * Constructor.
	 * @param {long} pageID
	 * @param {long} shapeID
	 */
	constructor(pageID, shapeID) {
	}

	/**
	 * Specifies the unique identifier of the page that is associated with the parent validation issue. If the target is the document, the PageID value can be 0xFFFFFFFF.
	 */
	getPageId() {
	}
	/**
	 * Specifies the unique identifier of the page that is associated with the parent validation issue. If the target is the document, the PageID value can be 0xFFFFFFFF.
	 */
	setPageId(value) {
	}

	/**
	 * Specifies the unique identifier of the shape that is associated with the parent validation issue. If the target is the document or a page, the ShapeID value can be 0xFFFFFFFF.
	 */
	getShapeId() {
	}
	/**
	 * Specifies the unique identifier of the shape that is associated with the parent validation issue. If the target is the document or a page, the ShapeID value can be 0xFFFFFFFF.
	 */
	setShapeId(value) {
	}

}

/**
 * Represents the label ActiveX control.
 * @hideconstructor
 */
class LabelActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	getCaption() {
	}
	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	setCaption(value) {
	}

	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	getPicturePosition() {
	}
	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	setPicturePosition(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBorderOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBorderOleColor(value) {
	}

	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	getBorderStyle() {
	}
	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	setBorderStyle(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Gets and sets the data of the picture.
	 */
	getPicture() {
	}
	/**
	 * Gets and sets the data of the picture.
	 */
	setPicture(value) {
	}

	/**
	 * Gets and sets the accelerator key for the control.
	 */
	getAccelerator() {
	}
	/**
	 * Gets and sets the accelerator key for the control.
	 */
	setAccelerator(value) {
	}

	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	isWordWrapped() {
	}
	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	setWordWrapped(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Contains elements that define a single layer and its properties for a page.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("Layers.vsdx");
 * // get Visio page
 * page = diagram.getPages().getPage("Page-1");
 * // initialize a new Layer class object
 * layer = new aspose.diagram.Layer();
 * // set Layer name
 * layer.getName().setValue("Layer1");
 * // set Layer Visibility
 * layer.getVisible().setValue(aspose.diagram.BOOL.TRUE);
 * // set the color checkbox of Layer
 * layer.setColorChecked(aspose.diagram.BOOL.TRUE);
 * // add Layer to the particular page sheet
 * page.getPageSheet().getLayers().add(layer);
 * // get shape by ID
 * shape = page.getShapes().getShape(3);
 * // assign shape to this new Layer
 * shape.getLayerMem().getLayerMember().setValue((layer.getIX()).toString());
 * diagram.save("out-AddLayer.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class Layer {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Name element specifies the name of a layer.
	 */
	getName() {
	}

	/**
	 * The index of the color in the color table used toThe index of the color in the color table used to display the layer or An RGB value specifying a custom color not in the color table (for example, #ff9900 ). display the layer
	 */
	getColor() {
	}

	/**
	 * A flag indicating whether the element has been checked locally. A value of 1 indicates that the element was checked locally.
	 * The value of the property is BOOL integer constant.
	 */
	isColorChecked() {
	}
	/**
	 * A flag indicating whether the element has been checked locally. A value of 1 indicates that the element was checked locally.
	 * The value of the property is BOOL integer constant.
	 */
	setColorChecked(value) {
	}

	/**
	 * Specifies whether the layer is a valid layer for a document.
	 */
	getStatus() {
	}

	/**
	 * Specifies whether shapes belonging to the layer are visible on the drawing page.
	 */
	getVisible() {
	}

	/**
	 * Specifies whether shapes belonging to the layer are printed when the drawing is printed.
	 */
	getPrint() {
	}

	/**
	 * Specifies whether a layer is active. Shapes that are not preassigned to layers are assigned to the active layer(s) when dropped on the drawing page.
	 */
	getActive() {
	}

	/**
	 * Specifies whether shapes belonging to the layer are locked against being selected or edited.
	 */
	getLock() {
	}

	/**
	 * Specifies whether other shapes can snap to shapes assigned to the layer. Shapes assigned to the layer can snap to other shapes, but other shapes cannot snap to them.
	 */
	getSnap() {
	}

	/**
	 * Specifies whether shapes belonging to the layer can be glued to.
	 */
	getGlue() {
	}

	/**
	 * Specifies the universal name of a layer.
	 */
	getNameUniv() {
	}

	/**
	 * Determines the degree of transparency for a layer or shape's text color, from 0 (completely opaque) to 1 (completely transparent).
	 */
	getColorTrans() {
	}

}

/**
 * Layer collection.
 * @hideconstructor
 */
class LayerCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Layer}
	 */
	get(index) {
	}

	/**
	 * Add the Layer object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Layer object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains the LayerMember element, which specifies each layer to which the shape is assigned.
 * @hideconstructor
 */
class LayerMem {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the layer or layers to which the shape is assigned. Layer assignment is specified based on the zero-based index of layers for the page. If a shape is assigned to more than one layer, each layer index appears separated by a semicolon.
	 */
	getLayerMember() {
	}

}

/**
 * Contains elements that control shape placement and connector routing settings.
 * @hideconstructor
 */
class Layout {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Determines the placement style for children.
	 */
	getShapePlaceStyle() {
	}
	/**
	 * Determines the placement style for children.
	 */
	setShapePlaceStyle(value) {
	}

	/**
	 * Specifies whether a connector can route horizontally through a shape.
	 */
	getShapePermeableX() {
	}

	/**
	 * Specifies whether a connector can route vertically through a shape.
	 */
	getShapePermeableY() {
	}

	/**
	 * Specifies whether placeable shapes can be placed on top of a shape when a user selects Lay Out Shapes (Shapes menu).
	 */
	getShapePermeablePlace() {
	}

	/**
	 * Specifies placement behavior for a placeable shape.
	 */
	getShapeFixedCode() {
	}

	/**
	 * Specifies whether a placeable shape moves away when you drag another placeable shape near the shape on the drawing page.
	 */
	getShapePlowCode() {
	}

	/**
	 * Specifies the routing style and direction for a connector on the drawing page.
	 */
	getShapeRouteStyle() {
	}

	/**
	 * Determines when a connector reroutes.
	 */
	getConFixedCode() {
	}

	/**
	 * Determines whether a connector jumps when two connectors cross,
	 */
	getConLineJumpCode() {
	}

	/**
	 * Determines the line jump style for line jumps on a dynamic connector.
	 */
	getConLineJumpStyle() {
	}

	/**
	 * Determines the line jump direction for line jumps occurring on a horizontal segment of a dynamic connector.
	 */
	getConLineJumpDirX() {
	}

	/**
	 * Determines the line jump direction for line jumps occurring on a vertical segment of a dynamic connector.
	 */
	getConLineJumpDirY() {
	}

	/**
	 * Specifies how a placeable shape flips and/or rotates on the page when a user selects Lay Out Shapes (Shapes menu).
	 */
	getShapePlaceFlip() {
	}

	/**
	 * Determines the appearance of a connector.
	 */
	getConLineRouteExt() {
	}

	/**
	 * Determines whether this shape can split shapes that are splittable.
	 */
	getShapeSplit() {
	}

	/**
	 * Determines whether this 1-D shape can be split.
	 */
	getShapeSplittable() {
	}

	/**
	 * Stores the relationships between containers, lists, callouts, and shapes.
	 */
	getRelationships() {
	}

	/**
	 * Determines the display level band (the relative range of Z-order grouping) for the shape.
	 */
	getDisplayLevel() {
	}

}

/**
 * Used to specify style and additional options of layout of shapes
 * to perform Re-Layout of page(pages).
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("LayOutShapesInCompactTreeStyle.vdx");
 * // set layout options
 * compactTreeOptions = new aspose.diagram.LayoutOptions();
 * compactTreeOptions.setLayoutStyle(aspose.diagram.LayoutStyle.COMPACT_TREE);
 * compactTreeOptions.setEnlargePage(true);
 * // set layout direction as DownThenRight and then save
 * compactTreeOptions.setDirection(aspose.diagram.LayoutDirection.DOWN_THEN_RIGHT);
 * diagram.layout(compactTreeOptions);
 * diagram.save("out-sample_down_right.vdx", aspose.diagram.SaveFileFormat.VDX);
 * // set layout direction as DownThenLeft and then save
 * diagram = new aspose.diagram.Diagram("LayOutShapesInCompactTreeStyle.vdx");
 * compactTreeOptions.setDirection(aspose.diagram.LayoutDirection.DOWN_THEN_LEFT);
 * diagram.layout(compactTreeOptions);
 * diagram.save("out-sample_down_left.vdx", aspose.diagram.SaveFileFormat.VDX);
 * // set layout direction as RightThenDown and then save
 * diagram = new aspose.diagram.Diagram("LayOutShapesInCompactTreeStyle.vdx");
 * compactTreeOptions.setDirection(aspose.diagram.LayoutDirection.RIGHT_THEN_DOWN);
 * diagram.layout(compactTreeOptions);
 * diagram.save("out-sample_right_down.vdx", aspose.diagram.SaveFileFormat.VDX);
 * // set layout direction as LeftThenDown and then save
 * diagram = new aspose.diagram.Diagram("LayOutShapesInCompactTreeStyle.vdx");
 * compactTreeOptions.setDirection(aspose.diagram.LayoutDirection.LEFT_THEN_DOWN);
 * diagram.layout(compactTreeOptions);
 * diagram.save("out-LayOutShapesInCompactTreeStyle.vdx", aspose.diagram.SaveFileFormat.VDX);
 */
class LayoutOptions {
	/**
	 * Initializes a new instance of LayoutOptions.
	 */
	constructor() {
	}

	/**
	 * Used to specify style of layout.
	 * The value of the property is LayoutStyle integer constant.
	 * Default value is FlowChart.
	 */
	getLayoutStyle() {
	}
	/**
	 * Used to specify style of layout.
	 * The value of the property is LayoutStyle integer constant.
	 * Default value is FlowChart.
	 */
	setLayoutStyle(value) {
	}

	/**
	 * Used to set direction of shapes layout.
	 * The value of the property is LayoutDirection integer constant.
	 * Default value is TopToBottom.
	 */
	getDirection() {
	}
	/**
	 * Used to set direction of shapes layout.
	 * The value of the property is LayoutDirection integer constant.
	 * Default value is TopToBottom.
	 */
	setDirection(value) {
	}

	/**
	 * Defines the spacing between the shapes in inches.
	 * Default value 0.3 inch ~ 7.5 mm.
	 */
	getSpaceShapes() {
	}
	/**
	 * Defines the spacing between the shapes in inches.
	 * Default value 0.3 inch ~ 7.5 mm.
	 */
	setSpaceShapes(value) {
	}

	/**
	 * Defines whether need enlarge page to fit drawing or not.
	 * Default value is false.
	 */
	getEnlargePage() {
	}
	/**
	 * Defines whether need enlarge page to fit drawing or not.
	 * Default value is false.
	 */
	setEnlargePage(value) {
	}

}

/**
 * Provides methods to license the component.
 * @exampleIn this example, an attempt will be made to find a license file named MyLicense.lic in the folder that contains the component, in the folder that contains the calling assembly,in the folder of the entry assembly and then in the embedded resources of the calling assembly.
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * var license = new aspose.diagram.License();
 * license.setLicense("MyLicense.lic");
 */
class License {
	/**
	 * Initializes a new instance of this class.
	 */
	constructor() {
	}

	/**
	 * Licenses the component.
	 * Tries to find the license in the following locations:1. Explicit path.2. The folder of the component jar file.
	 */
	setLicense(licenseName) {
	}

	/**
	 * Licenses the component.
	 * Use this method to load a license from a stream.
	 * @param {License} license - The license object
	 * @param {ReadableStream} stream - The stream
	 * @param {Callback} callback - The callback function
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var licenseStream = fs.createReadStream("Aspose.Diagram.lic");
	 * var license = new aspose.diagram.License();
	 * aspose.diagram.License.setLicenseFromStream(license, licenseStream,
	 * function(err) {
	 * if (err) {
	 * console.log("license error");
	 * return;
	 * }
	 * var diagram = new aspose.diagram.Diagram();
	 * diagram.save("output.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 * });
	 */
	static setLicenseFromStream(license, stream, callback) {
	}

}

/**
 * Contains elements specifying general positioning information about a shape.
 * @hideconstructor
 */
class Line {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the line weight of a shape. Line weight is independent of the scale of the drawing. If the drawing is scaled, the line weight remains the same.
	 */
	getLineWeight() {
	}
	/**
	 * Specifies the line weight of a shape. Line weight is independent of the scale of the drawing. If the drawing is scaled, the line weight remains the same.
	 */
	setLineWeight(value) {
	}

	/**
	 * Contains the current gradient line formatting values for the shape
	 */
	getGradientLine() {
	}

	/**
	 * Specifies the line color of the shape.
	 */
	getLineColor() {
	}
	/**
	 * Specifies the line color of the shape.
	 */
	setLineColor(value) {
	}

	/**
	 * Specifies the line CompoundType of the shape.
	 */
	getCompoundType() {
	}
	/**
	 * Specifies the line CompoundType of the shape.
	 */
	setCompoundType(value) {
	}

	/**
	 * Specifies the line pattern of the shape
	 */
	getLinePattern() {
	}
	/**
	 * Specifies the line pattern of the shape
	 */
	setLinePattern(value) {
	}

	/**
	 * Specifies the radius of the rounding arc applied where two contiguous segments of a path meet. For example, rounding can be used to give a rectangle rounded corners.
	 */
	getRounding() {
	}
	/**
	 * Specifies the radius of the rounding arc applied where two contiguous segments of a path meet. For example, rounding can be used to give a rectangle rounded corners.
	 */
	setRounding(value) {
	}

	/**
	 * Specifies the size of the arrowhead at the end of the line.
	 */
	getEndArrowSize() {
	}
	/**
	 * Specifies the size of the arrowhead at the end of the line.
	 */
	setEndArrowSize(value) {
	}

	/**
	 * Indicates whether a line has an arrowhead or other line end format at its first vertex. Enter a number from 0 to 45 or the USE function with the name of a custom line end.
	 */
	getBeginArrow() {
	}
	/**
	 * Indicates whether a line has an arrowhead or other line end format at its first vertex. Enter a number from 0 to 45 or the USE function with the name of a custom line end.
	 */
	setBeginArrow(value) {
	}

	/**
	 * Indicates whether a line has an arrowhead or other line-end format at its last vertex.
	 */
	getEndArrow() {
	}
	/**
	 * Indicates whether a line has an arrowhead or other line-end format at its last vertex.
	 */
	setEndArrow(value) {
	}

	/**
	 * Specifies whether a line has rounded or square line ends.
	 */
	getLineCap() {
	}
	/**
	 * Specifies whether a line has rounded or square line ends.
	 */
	setLineCap(value) {
	}

	/**
	 * Determines the size of the arrowhead at the beginning of the line. Enter a number from 0 to 6.
	 */
	getBeginArrowSize() {
	}
	/**
	 * Determines the size of the arrowhead at the beginning of the line. Enter a number from 0 to 6.
	 */
	setBeginArrowSize(value) {
	}

	/**
	 * Specifies the transparency level of a shape's line color, from 0 (opaque) to 1 (completely transparent). The default is 0.
	 */
	getLineColorTrans() {
	}
	/**
	 * Specifies the transparency level of a shape's line color, from 0 (opaque) to 1 (completely transparent). The default is 0.
	 */
	setLineColorTrans(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specifies which dynamic connectors to space apart if they route on top of each other.
 */
class LineAdjustFrom {
	/**
	 * Constructor.
	 * @param {Number} value - LineAdjustFromValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies which dynamic connectors to space apart if they route on top of each other.
	 * The value of the property is LineAdjustFromValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies which dynamic connectors to space apart if they route on top of each other.
	 * The value of the property is LineAdjustFromValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies which dynamic connectors to line up on top of one another if they route on top of each other.
 */
class LineAdjustTo {
	/**
	 * Constructor.
	 * @param {Number} value - LineAdjustToValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies which dynamic connectors to line up on top of one another if they route on top of each other.
	 * The value of the property is LineAdjustToValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies which dynamic connectors to line up on top of one another if they route on top of each other.
	 * The value of the property is LineAdjustToValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines the dynamic connectors to which you want to add jumps.
 */
class LineJumpCode {
	/**
	 * Constructor.
	 * @param {Number} value - LineJumpCodeValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the dynamic connectors to which you want to add jumps.
	 * The value of the property is LineJumpCodeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the dynamic connectors to which you want to add jumps.
	 * The value of the property is LineJumpCodeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the line jump style for all connectors on the drawing page that don't have a local line jump style.
 */
class LineJumpStyle {
	/**
	 * Constructor.
	 * @param {Number} value - LineJumpStyleValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the line jump style for all connectors on the drawing page that don't have a local line jump style.
	 * The value of the property is LineJumpStyleValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the line jump style for all connectors on the drawing page that don't have a local line jump style.
	 * The value of the property is LineJumpStyleValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the default appearance for all connectors on a page.
 */
class LineRouteExt {
	/**
	 * Constructor.
	 * @param {Number} value - LineRouteExtValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the default appearance for all connectors on a page.
	 * The value of the property is LineRouteExtValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the default appearance for all connectors on a page.
	 * The value of the property is LineRouteExtValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains x- and y-coordinates of the ending vertex of a straight line segment. These coordinates are contained in the X and Y elements, respectively.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("EditConnectorGeometry.vsdx");
 * // set connector shape id
 * connectorId = 4;
 * connector = diagram.getPages().getPage("Page-1").getShapes().getShape(connectorId);
 * // get connector geometry at index 0
 * defaultLineTo = connector.getGeoms().get(0).getCoordinateCol().getLineToCol().get(0);
 * // remove connector geometry from index 0
 * connector.getGeoms().get(0).getCoordinateCol().getLineToCol().get(0).setDel(aspose.diagram.BOOL.TRUE);
 * // initialize LineTo geometry object
 * lineTo = new aspose.diagram.LineTo();
 * // set X value
 * lineTo.getX().setValue(0);
 * // set Y value
 * lineTo.getY().setValue(defaultLineTo.getY().getValue() / 2);
 * // add connector geometry
 * connector.getGeoms().get(0).getCoordinateCol().add(lineTo);
 * // initialize LineTo geometry object
 * lineTo = new aspose.diagram.LineTo();
 * // set Y value
 * lineTo.getY().setValue(defaultLineTo.getY().getValue() / 2);
 * // set X value
 * lineTo.getX().setValue(defaultLineTo.getX().getValue());
 * // add connector geometry
 * connector.getGeoms().get(0).getCoordinateCol().add(lineTo);
 * // initialize LineTo geometry object
 * lineTo = new aspose.diagram.LineTo();
 * // set X value
 * lineTo.getX().setValue(defaultLineTo.getX().getValue());
 * // set Y value
 * lineTo.getY().setValue(defaultLineTo.getY().getValue());
 * // add connector geometry
 * connector.getGeoms().get(0).getCoordinateCol().add(lineTo);
 * diagram.save("out-EditConnectorGeometry.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class LineTo {
	/**
	 * Creates an instance of the LineTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the ending vertex of a straight line segment.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the ending vertex of a straight line segment.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the ending vertex of a straight line segment.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the ending vertex of a straight line segment.
	 */
	setY(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * LineTo collection.
 * @hideconstructor
 */
class LineToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {LineTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents a ListBox ActiveX control.
 * @hideconstructor
 */
class ListBoxActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Indicates specifies whether the control has vertical scroll bars, horizontal scroll bars, both, or neither.
	 * The value of the property is ControlScrollBarType integer constant.
	 */
	getScrollBars() {
	}
	/**
	 * Indicates specifies whether the control has vertical scroll bars, horizontal scroll bars, both, or neither.
	 * The value of the property is ControlScrollBarType integer constant.
	 */
	setScrollBars(value) {
	}

	/**
	 * Gets and set the width in unit of points.
	 */
	getListWidth() {
	}
	/**
	 * Gets and set the width in unit of points.
	 */
	setListWidth(value) {
	}

	/**
	 * Represents how the Value property is determined for a ComboBox or ListBox
	 * when the MultiSelect propertys value (fmMultiSelectSingle).
	 */
	getBoundColumn() {
	}
	/**
	 * Represents how the Value property is determined for a ComboBox or ListBox
	 * when the MultiSelect propertys value (fmMultiSelectSingle).
	 */
	setBoundColumn(value) {
	}

	/**
	 * Represents the column in a ComboBox or ListBox to display to the user.
	 */
	getTextColumn() {
	}
	/**
	 * Represents the column in a ComboBox or ListBox to display to the user.
	 */
	setTextColumn(value) {
	}

	/**
	 * Represents the number of columns to display in a ComboBox or ListBox.
	 */
	getColumnCount() {
	}
	/**
	 * Represents the number of columns to display in a ComboBox or ListBox.
	 */
	setColumnCount(value) {
	}

	/**
	 * Indicates how a ListBox or ComboBox searches its list as the user types.
	 * The value of the property is ControlMatchEntryType integer constant.
	 */
	getMatchEntry() {
	}
	/**
	 * Indicates how a ListBox or ComboBox searches its list as the user types.
	 * The value of the property is ControlMatchEntryType integer constant.
	 */
	setMatchEntry(value) {
	}

	/**
	 * Gets and sets the visual appearance.
	 * The value of the property is ControlListStyle integer constant.
	 */
	getListStyle() {
	}
	/**
	 * Gets and sets the visual appearance.
	 * The value of the property is ControlListStyle integer constant.
	 */
	setListStyle(value) {
	}

	/**
	 * Gets and sets the value of the control.
	 */
	getValue() {
	}
	/**
	 * Gets and sets the value of the control.
	 */
	setValue(value) {
	}

	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	getBorderStyle() {
	}
	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	setBorderStyle(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBorderOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBorderOleColor(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Indicates whether column headings are displayed.
	 */
	getShowColumnHeads() {
	}
	/**
	 * Indicates whether column headings are displayed.
	 */
	setShowColumnHeads(value) {
	}

	/**
	 * Indicates whether the control will only show complete lines of text without showing any partial lines.
	 */
	getIntegralHeight() {
	}
	/**
	 * Indicates whether the control will only show complete lines of text without showing any partial lines.
	 */
	setIntegralHeight(value) {
	}

	/**
	 * Gets and sets the width of the column.
	 */
	getColumnWidths() {
	}
	/**
	 * Gets and sets the width of the column.
	 */
	setColumnWidths(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Represents the filter that provides options for loading data when loading diagram from template.
 * User may specify the filter options or implement their own LoadFilter to specify how to load data.
 */
class LoadFilter {
	/**
	 * Constructs one LoadFilter with default filter options LoadDataFilterOptions.All.
	 */
	constructor() {
	}
	/**
	 * Constructs one LoadFilter with given filter options.
	 * @param {Number} opts - LoadDataFilterOptions
	 */
	constructor_overload$1(opts) {
	}

	/**
	 * The filter options to denote what data should be loaded.
	 * The value of the property is LoadDataFilterOptions integer constant.
	 */
	getLoadDataFilterOptions() {
	}
	/**
	 * The filter options to denote what data should be loaded.
	 * The value of the property is LoadDataFilterOptions integer constant.
	 */
	setLoadDataFilterOptions(value) {
	}

}

/**
 * Allows to specify additional options when loading a diagram into a Diagram object.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * loadOptions = new aspose.diagram.LoadOptions(aspose.diagram.LoadFileFormat.VSX);
 * vsxDiagram = new aspose.diagram.Diagram("LoadSaveConvert.vsx", loadOptions);
 */
class LoadOptions {
	/**
	 * Initializes a new instance of this class with default values.
	 * Default file format is set as LoadFileFormat.
	 */
	constructor() {
	}
	/**
	 * Initializes a new instance of this class with the format specified.
	 * @param {Number} format - LoadFileFormat
	 */
	constructor_overload$1(format) {
	}

	/**
	 * Specifies the format of the diagram to be loaded. Default is LoadFileFormat.
	 * Read/write LoadFileFormat.
	 * The value of the property is LoadFileFormat integer constant.
	 */
	getLoadFormat() {
	}
	/**
	 * Specifies the format of the diagram to be loaded. Default is LoadFileFormat.
	 * Read/write LoadFileFormat.
	 * The value of the property is LoadFileFormat integer constant.
	 */
	setLoadFormat(value) {
	}

	/**
	 * Specifies the index of the pages to be loaded.
	 */
	getPages() {
	}
	/**
	 * Specifies the index of the pages to be loaded.
	 */
	setPages(value) {
	}

	/**
	 * The filter to denote how to load data.
	 */
	getLoadFilter() {
	}
	/**
	 * The filter to denote how to load data.
	 */
	setLoadFilter(value) {
	}

	/**
	 * Gets and sets the interrupt monitor.
	 */
	getInterruptMonitor() {
	}
	/**
	 * Gets and sets the interrupt monitor.
	 */
	setInterruptMonitor(value) {
	}

	/**
	 * Gets and sets individual font configs.
	 * Only works for the Diagram which uses this LoadOptions to load.
	 */
	getFontConfigs() {
	}
	/**
	 * Gets and sets individual font configs.
	 * Only works for the Diagram which uses this LoadOptions to load.
	 */
	setFontConfigs(value) {
	}

	/**
	 * Gets and sets the Locale used for diagram at the time the file was loaded.
	 */
	getLocale() {
	}
	/**
	 * Gets and sets the Locale used for diagram at the time the file was loaded.
	 */
	setLocale(value) {
	}

}

/**
 * Specifies whether the shape text should be localized (translated into another language).
 */
class LocalizeFont {
	/**
	 * Constructor.
	 * @param {Number} value - LocalizeFontValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies whether the shape text should be localized (translated into another language).
	 * The value of the property is LocalizeFontValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies whether the shape text should be localized (translated into another language).
	 * The value of the property is LocalizeFontValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specifies the margin.
 */
class Margin {
	/**
	 * Constructor.
	 * @param {Number} value
	 * @param {Number} unit - MeasureConst
	 */
	constructor(value, unit) {
	}

	/**
	 * Represents a unit of measure. The default is DP.
	 * The value of the property is MeasureConst integer constant.
	 */
	getUnit() {
	}
	/**
	 * Represents a unit of measure. The default is DP.
	 * The value of the property is MeasureConst integer constant.
	 */
	setUnit(value) {
	}

	/**
	 * Specifies the margin.
	 */
	getValue() {
	}
	/**
	 * Specifies the margin.
	 */
	setValue(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that define a master for the document. A master is a shape on a stencil that you use repeatedly to create drawings. When you drag a shape from a stencil onto the drawing page, the shape becomes an instance of that master, and a local copy of the master is included in the document.
 */
class Master {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * A GUID (globally unique identifier) that identifies the master across documents.
	 */
	getBaseID() {
	}

	/**
	 * A GUID that identifies the master within the document.
	 */
	getUniqueID() {
	}

	/**
	 * The MatchByName attribute determines how Microsoft Visio decides if a document master is already present when an instance of a master is dropped on the drawing page. It allows changes made to a document master to apply to new instances of the master, even if the instances are dragged from a stand-alone stencil file.
	 * The value of the property is BOOL integer constant.
	 */
	getMatchByName() {
	}
	/**
	 * The MatchByName attribute determines how Microsoft Visio decides if a document master is already present when an instance of a master is dropped on the drawing page. It allows changes made to a document master to apply to new instances of the master, even if the instances are dragged from a stand-alone stencil file.
	 * The value of the property is BOOL integer constant.
	 */
	setMatchByName(value) {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The size of the element's icon.
	 * The value of the property is IconSizeValue integer constant.
	 */
	getIconSize() {
	}
	/**
	 * The size of the element's icon.
	 * The value of the property is IconSizeValue integer constant.
	 */
	setIconSize(value) {
	}

	/**
	 * The PatternFlags attribute determines whether a master behaves as a custom pattern.
	 */
	getPatternFlags() {
	}
	/**
	 * The PatternFlags attribute determines whether a master behaves as a custom pattern.
	 */
	setPatternFlags(value) {
	}

	/**
	 * The status bar and tool tip prompt for the element.
	 */
	getPrompt() {
	}
	/**
	 * The status bar and tool tip prompt for the element.
	 */
	setPrompt(value) {
	}

	/**
	 * Specifies whether the master is hidden in the user interface.
	 * The value of the property is BOOL integer constant.
	 */
	getHidden() {
	}
	/**
	 * Specifies whether the master is hidden in the user interface.
	 * The value of the property is BOOL integer constant.
	 */
	setHidden(value) {
	}

	/**
	 * Specifies whether the icon is automatically generated from the master itself.
	 * The value of the property is BOOL integer constant.
	 */
	getIconUpdate() {
	}
	/**
	 * Specifies whether the icon is automatically generated from the master itself.
	 * The value of the property is BOOL integer constant.
	 */
	setIconUpdate(value) {
	}

	/**
	 * Specifies whether the master's text in the stencil window is aligned left, right, or center.
	 * The value of the property is AlignNameValue integer constant.
	 */
	getAlignName() {
	}
	/**
	 * Specifies whether the master's text in the stencil window is aligned left, right, or center.
	 * The value of the property is AlignNameValue integer constant.
	 */
	setAlignName(value) {
	}

	/**
	 * Collection of Shape objects.
	 */
	getShapes() {
	}

	/**
	 * Contains a Connect element for each connection between two shapes in a drawing.
	 */
	getConnects() {
	}

	/**
	 * Specifies a MIME (Multipurpose Internet Mail Extensions) encoded binary icon (in .ico format) for a Master or MasterShortcut element in a document.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * fs = require("fs");
	 * stencil = new aspose.diagram.Diagram("Timeline.vss");
	 * // get master
	 * master = stencil.getMasters().getMasterByName("Diamond milestone");
	 * // get byte array
	 * bytes = master.getIcon();
	 * // create an image file and write byte array to the image
	 * fs.writeFileSync("out-MasterIcon.png", bytes);
	 */
	getIcon() {
	}
	/**
	 * Specifies a MIME (Multipurpose Internet Mail Extensions) encoded binary icon (in .ico format) for a Master or MasterShortcut element in a document.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * fs = require("fs");
	 * stencil = new aspose.diagram.Diagram("Timeline.vss");
	 * // get master
	 * master = stencil.getMasters().getMasterByName("Diamond milestone");
	 * // get byte array
	 * bytes = master.getIcon();
	 * // create an image file and write byte array to the image
	 * fs.writeFileSync("out-MasterIcon.png", bytes);
	 */
	setIcon(value) {
	}

	/**
	 * Contains elements that define the page sheet for a Page or Master element.
	 */
	getPageSheet() {
	}

	/**
	 * Performs application-defined tasks associated with freeing, releasing, or
	 * resetting unmanaged resources.
	 */
	dispose() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Master collection.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("RetrieveMasterInfo.vdx");
 * masters = diagram.getMasters();
 * for (var it = masters.iterator(); it.hasNext();) {
 * master = it.next();
 * // Display information about the masters
 * console.log("\nMaster ID : " + master.getID());
 * console.log("Master Name : " + master.getName());
 * }
 * @hideconstructor
 */
class MasterCollection {
	/**
	 * MasterShortcut collection.
	 */
	getMasterShortcuts() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Master}
	 */
	get(index) {
	}

	/**
	 * Add the Master object in the collection.
	 * @param {Master} master
	 * @return {Number}
	 */
	add(master) {
	}

	/**
	 * Remove the Master object from the collection.
	 * @param {Master} master
	 */
	remove(master) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID
	 * @return {Master}
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveMasterInfo.vdx");
	 * // Get master object by id
	 * master = diagram.getMasters().getMaster(2);
	 * console.log("Master ID : " + master.getID());
	 * console.log("Master Name : " + master.getName());
	 * console.log("Master Name : " + master.getUniqueID());
	 */
	getMaster(ID) {
	}

	/**
	 * Get master by name.
	 * @param {String} name
	 * @return {Master}
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("BasicShapes.vss");
	 * // Get master object by name
	 * master = diagram.getMasters().getMasterByName("Circle");
	 * console.log("Master ID : " + master.getID());
	 * console.log("Master Name : " + master.getName());
	 * console.log("Master Name : " + master.getUniqueID());
	 */
	getMasterByName(name) {
	}

	/**
	 * get the max rel id in the collection.
	 * Parameters:name - @return {Number}
	 */
	getMaxRelID() {
	}

	/**
	 * Is exist master rel id in the collection.
	 * @param {} name
	 * @return {boolean}
	 */
	isExistRelId(relID) {
	}

	/**
	 * Is exist master in the collection.
	 * @param {String} name
	 * @return {boolean}
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("BasicShapes.vss");
	 * // check master object by name
	 * isPresent = diagram.getMasters().isExist("60 degree single");
	 * console.log("Master Presence : " + isPresent);
	 */
	isExist(name) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies a master shortcut defined in the document.
 */
class MasterShortcut {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The size of the element's icon.
	 * The value of the property is IconSizeValue integer constant.
	 */
	getIconSize() {
	}
	/**
	 * The size of the element's icon.
	 * The value of the property is IconSizeValue integer constant.
	 */
	setIconSize(value) {
	}

	/**
	 * Determines whether a master behaves as a custom pattern.
	 */
	getPatternFlags() {
	}
	/**
	 * Determines whether a master behaves as a custom pattern.
	 */
	setPatternFlags(value) {
	}

	/**
	 * The status bar and tool tip prompt for the element.
	 */
	getPrompt() {
	}
	/**
	 * The status bar and tool tip prompt for the element.
	 */
	setPrompt(value) {
	}

	/**
	 * A URL to a MasterShortcut element. If this attribute is present, this MasterShortcut element is a shortcut.
	 */
	getShortcutURL() {
	}
	/**
	 * A URL to a MasterShortcut element. If this attribute is present, this MasterShortcut element is a shortcut.
	 */
	setShortcutURL(value) {
	}

	/**
	 * A help string for the element.
	 */
	getShortcutHelp() {
	}
	/**
	 * A help string for the element.
	 */
	setShortcutHelp(value) {
	}

	/**
	 * Specifies whether the element's text in the stencil window is aligned left, right, or center.
	 * The value of the property is AlignNameValue integer constant.
	 */
	getAlignName() {
	}
	/**
	 * Specifies whether the element's text in the stencil window is aligned left, right, or center.
	 * The value of the property is AlignNameValue integer constant.
	 */
	setAlignName(value) {
	}

	/**
	 * Specifies a MIME (Multipurpose Internet Mail Extensions) encoded binary icon (in .ico format) for a Master or MasterShortcut element in a document.
	 */
	getIcon() {
	}
	/**
	 * Specifies a MIME (Multipurpose Internet Mail Extensions) encoded binary icon (in .ico format) for a Master or MasterShortcut element in a document.
	 */
	setIcon(value) {
	}

}

/**
 * MasterShortcut collection.
 * @hideconstructor
 */
class MasterShortcutCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {MasterShortcut}
	 */
	get(index) {
	}

	/**
	 * Add the Master object in the collection.
	 * @param {MasterShortcut} masterShortcut
	 * @return {Number}
	 */
	add(masterShortcut) {
	}

	/**
	 * Remove the MasterShortcut object from the collection.
	 * @param {MasterShortcut} masterShortcut
	 */
	remove(masterShortcut) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents the single TrueType font file stored in memory.
 */
class MemoryFontSource {
	/**
	 * Ctor.
	 * @param {byte[]} fontData - Binary font data.
	 */
	constructor(fontData) {
	}

	/**
	 * Binary font data.
	 */
	getFontData() {
	}

	/**
	 * Returns the type of the font source.
	 * The value of the property is FontSourceType integer constant.
	 */
	getType() {
	}

}

/**
 * Provides methods to set metered key.
 */
class Metered {
	/**
	 * Initializes a new instance of this class.
	 */
	constructor() {
	}

	/**
	 * Sets metered public and private key.
	 * If you purchase metered license, when start application, this API should be called, normally, this is enough.
	 * However, if always fail to upload consumption data and exceed 24 hours, the license will be set to evaluation status,
	 * to avoid such case, you should regularly check the license status, if it is evaluation status, call this API again.
	 * @param {String} publicKey - public key
	 * @param {String} privateKey - private key
	 */
	setMeteredKey(publicKey, privateKey) {
	}

	/**
	 * Gets consumption file size
	 * @return {Number} consumption quantity
	 */
	static getConsumptionQuantity() {
	}

	/**
	 * Gets consumption credit
	 * @return {Number} consumption quantity
	 */
	static getConsumptionCredit() {
	}

	/**
	 * Check whether metered is licensed
	 * @return {boolean} True or false
	 */
	static isMeteredLicensed() {
	}

}

/**
 * MilestoneHelper to set property of milestone shape.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("DrawingTimeLine.vsdx");
 * ////////////// Modify time line ///////////
 * startDate = new aspose.diagram.DateTime(2015, 8, 1);
 * endDate = new aspose.diagram.DateTime(2016, 6, 1);
 * fisYear = startDate;
 * // Get page
 * pageName = "Page-1";
 * page = diagram.getPages().getPage(pageName);
 * timelineId = 1;
 * timeline = diagram.getPages().getPage(pageName).getShapes().getShape(timelineId);
 * xpos = timeline.getXForm().getPinX().getValue();
 * ypos = timeline.getXForm().getPinY().getValue();
 * // Add milestone
 * milestoneMasterName = "2 triangle milestone";
 * // Add Master
 * diagram.addMaster("Timeline.vss", milestoneMasterName);
 * // Add Shape in Visio diagram using AddShape method
 * milestoneShapeId = diagram.addShape(xpos, ypos, milestoneMasterName, 0);
 * // Get the shape based on ID
 * milestone = page.getShapes().getShape(milestoneShapeId);
 * // Instantiate MilestoneHelper object
 * milestoneHelper = new aspose.diagram.MilestoneHelper(milestone);
 * // Set Milestone Date
 * milestoneHelper.setMilestoneDate(new aspose.diagram.DateTime(2015, 8, 1));
 * // Set IsAutoUpdate to true
 * milestoneHelper.setAutoUpdate(true);
 * // RefreshMilesone of timeline shape
 * milestoneHelper.refreshMilestone(timeline);
 * diagram.save("out-RefreshMilestone.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class MilestoneHelper {
	/**
	 */
	constructor(shape) {
	}

	/**
	 * Milestone date
	 */
	getMilestoneDate() {
	}

	/**
	 * whether to update data for markers (milestones, intervals) as they are moved on timeline
	 */
	setAutoUpdate(value) {
	}

	/**
	 * Type of shape
	 */
	setType(value) {
	}

	/**
	 * DateFormat of shape
	 * Value Format String 0dddd, yyyy-M-d1yyyy-MM-dd2yy-MMM-d3yyyy/M/d4yy-MMM.-d5d MMMM yyyy6yy-M7MMM-yy8MMMM d, yyyy9MMM d, yyyy10M-d-yy11M-d12d MMMM, yyyy13d MMM, yyyy14d-M-yy15d-M16yy-M-d17yyyy-M-d18M-yy19M-yyyy20MMMM yyyy21MMMM yy22MMM yyyy23MMM yy24yy25yyyy26d27MMMM28MMM29M30MM/dd/yyyy
	 */
	setDateFormat(value) {
	}

	/**
	 * DateFormat string of shape
	 */
	setDateFormatString(value) {
	}

	/**
	 * Refresh milestone
	 */
	refreshMilestone(timeline) {
	}

}

/**
 * Contains various elements of shapes and groups, such as those that control selection highlighting and visibility.
 * @hideconstructor
 */
class Misc {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies whether selection handles are displayed when the shape is selected.
	 */
	getNoObjHandles() {
	}

	/**
	 * Specifies whether a selected shape can be printed.
	 */
	getNonPrinting() {
	}

	/**
	 * Specifies whether control handles are displayed when the shape is selected.
	 */
	getNoCtlHandles() {
	}

	/**
	 * Specifies whether the selection rectangle is displayed when the shape is selected.
	 */
	getNoAlignBox() {
	}

	/**
	 * Specifies whether to recalculate a shape's selection rectangle whenever a control handle is moved.
	 */
	getUpdateAlignBox() {
	}

	/**
	 * Hides the text for a shape. You can view text, edit properties, and apply styles to the text in the text block, although the changes will not appear until you specify the HideText element as 0.
	 */
	getHideText() {
	}

	/**
	 * Specifies the type of visual feedback provided to users when they drag a connector
	 */
	getDynFeedback() {
	}

	/**
	 * Specifies whether dynamic (shape-to-shape) glue is allowed when connecting to a shape
	 */
	getGlueType() {
	}

	/**
	 * Specifies whether an endpoint of a 1-D shape moves to a horizontal or vertical connection point on the shape it is glued to, using dynamic glue, when the shape is moved to an ambiguous position.
	 */
	getWalkPreference() {
	}

	/**
	 * Contains a trigger formula generated by Microsoft Visio that determines whether to move the begin point of a 1-D shape to maintain its connection to another shape.
	 */
	getBegTrigger() {
	}

	/**
	 * Contains a trigger formula generated by Microsoft Visio. This trigger formula determines whether to move the end point of a 1-D shape to maintain its connection to another shape.
	 */
	getEndTrigger() {
	}

	/**
	 * Specifies whether objects are placeable or routable in diagrams when you use Microsoft Visio to lay out shapes on the drawing page.
	 */
	getObjType() {
	}

	/**
	 * Contains the comment text in string format for a shape.
	 */
	getComment() {
	}

	/**
	 * Specifies whether the shape can be added to a group by dropping it onto the group
	 */
	isDropSource() {
	}

	/**
	 * Indicates whether the values of specified cells in a master shape overwrite the values (including local values) of a shape being replaced during a shape replacement operation.
	 */
	isReplaceLockShapeData() {
	}

	/**
	 * Specifies whether a shape dynamically resizes or rotates as the user manipulates it.
	 */
	getNoLiveDynamics() {
	}

	/**
	 * Determines whether shapes are localized (whether their LangIDelement is reset) when they are copied between documents.
	 */
	getLocalizeMerge() {
	}

	/**
	 * Determines the calendar that is used for custom properties, text fields, and element formulas.
	 */
	getCalendar() {
	}

	/**
	 * Indicates the locale ID (LCID) of the language in which the cell formula, text, custom property, or comment was entered.
	 */
	getLangID() {
	}

	/**
	 * Contains search keywords that have been assigned to custom master shapes.
	 */
	getShapeKeywords() {
	}

	/**
	 * Determines the percentage by which a shape is scaled when it is dropped on the drawing page.
	 */
	getDropOnPageScale() {
	}

}

/**
 * Contains the x- and y-coordinates of the first vertex of a shape, or contains the x- and y-coordinates of the first vertex after a break in a path.
 */
class MoveTo {
	/**
	 * Creates an instance of the MoveTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * X element represents the x-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the X element represents the x-coordinate of the first vertex after the break in the path
	 */
	getX() {
	}
	/**
	 * X element represents the x-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the X element represents the x-coordinate of the first vertex after the break in the path
	 */
	setX(value) {
	}

	/**
	 * Y element represents the y-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the Y element represents the y-coordinate of the first vertex after the break in the path.
	 */
	getY() {
	}
	/**
	 * Y element represents the y-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the Y element represents the y-coordinate of the first vertex after the break in the path.
	 */
	setY(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * MoveTo collection.
 * @hideconstructor
 */
class MoveToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {MoveTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains the x- and y-coordinates, position of the second to last knot, position of the last weight, position of the first knot, position of the first weight, and the formula for a nonuniform rational B-spline (NURBS). This information is specified in the X, Y, A, B, C, D, and E elements, respectively.
 */
class NURBSTo {
	/**
	 * Creates an instance of the NURBSTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the last control point of a nonuniform rational B-spline (NURBS).
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the last control point of a nonuniform rational B-spline (NURBS).
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the last control point of a nonuniform rational B-spline (NURBS).
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the last control point of a nonuniform rational B-spline (NURBS).
	 */
	setY(value) {
	}

	/**
	 * The second-to-last knot of the nonuniform rational B-spline (NURBS).
	 */
	getA() {
	}
	/**
	 * The second-to-last knot of the nonuniform rational B-spline (NURBS).
	 */
	setA(value) {
	}

	/**
	 * The last weight of the nonuniform rational B-spline (NURBS).
	 */
	getB() {
	}
	/**
	 * The last weight of the nonuniform rational B-spline (NURBS).
	 */
	setB(value) {
	}

	/**
	 * The first knot of the nonuniform rational B-spline (NURBS).
	 */
	getC() {
	}
	/**
	 * The first knot of the nonuniform rational B-spline (NURBS).
	 */
	setC(value) {
	}

	/**
	 * The first weight of the nonuniform rational B-spline (NURBS)
	 */
	getD() {
	}
	/**
	 * The first weight of the nonuniform rational B-spline (NURBS)
	 */
	setD(value) {
	}

	/**
	 * Contains a nonuniform rational B-spline (NURBS) formula.
	 */
	getE() {
	}
	/**
	 * Contains a nonuniform rational B-spline (NURBS) formula.
	 */
	setE(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * NURBSTo collection.
 * @hideconstructor
 */
class NURBSToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {NURBSTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Indicates the type of text field.
 */
class ObjectKind {
	/**
	 * Constructor.
	 * @param {Number} value - ObjectKindValue
	 */
	constructor(value) {
	}

	/**
	 * Indicates the type of text field.
	 * The value of the property is ObjectKindValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Indicates the type of text field.
	 * The value of the property is ObjectKindValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specifies whether objects are placeable or routable in diagrams when you use Microsoft Visio to lay out shapes on the drawing page.
 */
class ObjType {
	/**
	 * Constructor.
	 * @param {Number} value - ObjTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies whether objects are placeable or routable in diagrams when you use Microsoft Visio to lay out shapes on the drawing page.
	 * The value of the property is ObjTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies whether objects are placeable or routable in diagrams when you use Microsoft Visio to lay out shapes on the drawing page.
	 * The value of the property is ObjTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the output format for a drawing.
 */
class OutputFormat {
	/**
	 * Constructor.
	 * @param {Number} value - OutputFormatValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the output format for a drawing.
	 * The value of the property is OutputFormatValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the output format for a drawing.
	 * The value of the property is OutputFormatValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that define a page in the document.
 */
class Page {
	/**
	 * Constructor.
	 */
	constructor() {
	}
	/**
	 * Constructor.
	 */
	constructor_overload$1(ID) {
	}

	/**
	 * Page collection.
	 */
	getPages() {
	}
	/**
	 * Page collection.
	 */
	setPages(value) {
	}

	/**
	 * Shape collection.
	 */
	getShapes() {
	}

	/**
	 * Contains elements that define the page sheet for a Page or Master element.
	 */
	getPageSheet() {
	}

	/**
	 * Contains a Connect element for each connection between two shapes in a drawing.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveConnectorInfo.vsd");
	 * connects = diagram.getPages().getPage(0).getConnects();
	 * for (var it = connects.iterator(); it.hasNext();) {
	 * connector = it.next();
	 * // Display information about the Connectors
	 * console.log("From Shape ID : " + connector.getFromSheet());
	 * console.log("To Shape ID : " + connector.getToSheet());
	 * }
	 */
	getConnects() {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * A flag indicating if the page is a background page.
	 * The value of the property is BOOL integer constant.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrievePageInfo.vdx");
	 * for (var it = diagram.getPages().iterator(); it.hasNext();) {
	 * page = it.next();
	 * // Checks if current page is a background page
	 * if (page.getBackground() == aspose.diagram.BOOL.TRUE) {
	 * // Display information about the background page
	 * console.log("Background Page ID : " + page.getID());
	 * console.log("Background Page Name : " + page.getName());
	 * } else {
	 * // Display information about the foreground page
	 * console.log("\nPage ID : " + page.getID());
	 * console.log("Universal Name : " + page.getNameU());
	 * console.log("ID of the Background Page : " + page.getBackPage());
	 * }
	 * }
	 */
	getBackground() {
	}
	/**
	 * A flag indicating if the page is a background page.
	 * The value of the property is BOOL integer constant.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrievePageInfo.vdx");
	 * for (var it = diagram.getPages().iterator(); it.hasNext();) {
	 * page = it.next();
	 * // Checks if current page is a background page
	 * if (page.getBackground() == aspose.diagram.BOOL.TRUE) {
	 * // Display information about the background page
	 * console.log("Background Page ID : " + page.getID());
	 * console.log("Background Page Name : " + page.getName());
	 * } else {
	 * // Display information about the foreground page
	 * console.log("\nPage ID : " + page.getID());
	 * console.log("Universal Name : " + page.getNameU());
	 * console.log("ID of the Background Page : " + page.getBackPage());
	 * }
	 * }
	 */
	setBackground(value) {
	}

	/**
	 * The page's background page.
	 */
	getBackPage() {
	}
	/**
	 * The page's background page.
	 */
	setBackPage(value) {
	}

	/**
	 * The default magnification factor to use when a new view (window) of the page is opened. For example, 1 = 100%; 1.5 = 150%, and so on.
	 */
	getViewScale() {
	}
	/**
	 * The default magnification factor to use when a new view (window) of the page is opened. For example, 1 = 100%; 1.5 = 150%, and so on.
	 */
	setViewScale(value) {
	}

	/**
	 * ViewCenterX and ViewCenterY specify a center point on a page that a new view (window) assumes when it is opened initially.
	 */
	getViewCenterX() {
	}
	/**
	 * ViewCenterX and ViewCenterY specify a center point on a page that a new view (window) assumes when it is opened initially.
	 */
	setViewCenterX(value) {
	}

	/**
	 * ViewCenterX and ViewCenterY specify a center point on a page that a new view (window) assumes when it is opened initially.
	 */
	getViewCenterY() {
	}
	/**
	 * ViewCenterX and ViewCenterY specify a center point on a page that a new view (window) assumes when it is opened initially.
	 */
	setViewCenterY(value) {
	}

	/**
	 * The ID of the reviewer associated with the markup overlay.
	 */
	getReviewerID() {
	}
	/**
	 * The ID of the reviewer associated with the markup overlay.
	 */
	setReviewerID(value) {
	}

	/**
	 * The ID of the original drawing page that was marked up on separate markup overlays by reviewers of the drawing.
	 */
	getAssociatedPage() {
	}
	/**
	 * The ID of the original drawing page that was marked up on separate markup overlays by reviewers of the drawing.
	 */
	setAssociatedPage(value) {
	}

	/**
	 * Apply a preset theme to this page
	 * The value of the property is PresetThemeValue integer constant.
	 */
	setPresetTheme(value) {
	}

	/**
	 * Apply a preset theme variant to this page
	 * The value of the property is PresetThemeVariantValue integer constant.
	 */
	setPresetThemeVariant(value) {
	}

	/**
	 * Apply a preset theme variant quickstyle to this page
	 * The value of the property is PresetQuickStyleValue integer constant.
	 */
	setPresetThemeQuickStyle(value) {
	}

	/**
	 * Centers a page's shapes with respect to the extent of the page.
	 * Centering shapes does not change their position relative to each other.
	 */
	centerDrawing() {
	}

	/**
	 */
	copy(source) {
	}

	/**
	 * Performs application-defined tasks associated with freeing, releasing, or
	 * resetting unmanaged resources.
	 */
	dispose() {
	}

	/**
	 * Applies style for full page.
	 * Default value is -1.
	 * @param {Number} textStyle - text Style id.
	 * @param {Number} lineStyle - line Style id.
	 * @param {Number} fillStyle - fill Style id.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("ReadDiagramFile.vsd");
	 * //Define a new StyleSheet
	 * st = new aspose.diagram.StyleSheet();
	 * st.setID(diagram.getStyleSheets().getCount() + 1);
	 * ch = new aspose.diagram.Char();
	 * ch.getColor().setValue("#00ff00");
	 * ch.setIX(0);
	 * st.getChars().add(ch);
	 * st.getLine().getLineColor().setValue("#ff0000");
	 * st.getLine().getLinePattern().setValue(1);
	 * st.getLine().getLineWeight().setValue(0.01);
	 * st.getFill().getFillForegnd().setValue("#0000ff");
	 * st.getFill().getFillPattern().setValue(1);
	 * st.getFill().getShdwPattern().setValue(0);
	 * //Add the stylesheet to Stylesheets collection
	 * diagram.getStyleSheets().add(st);
	 * shapes = diagram.getPages().get(0).getShapes();
	 * for (var it = shapes.iterator(); it.hasNext();) {
	 * shape = it.next();
	 * shape.getLine().getLinePattern().setValue(1);
	 * shape.getFill().getFillPattern().setValue(1);
	 * }
	 * //Apply the stylesheet
	 * diagram.getPages().get(0).applyStyle(st.getID(), st.getID(), st.getID());
	 * diagram.save("out-ApplyStyleToVisioDiagramPage.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	applyStyle(textStyle, lineStyle, fillStyle) {
	}

	/**
	 * Moves the page to another location in the pages.
	 * @param {Number} index - Destination page index.
	 */
	moveTo(index) {
	}

	/**
	 * Creates an Activex Control.
	 * @param {Number} type - ControlType
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the shape in inches.
	 * @param {Number} height - Specifies the height of the shape in inches.
	 * @return {long}
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * // Instantiate Diagram Object
	 * diagram = new aspose.diagram.Diagram();
	 * // Insert an ActiveX control
	 * diagram.getPages().get(0).addActiveXControl(aspose.diagram.ControlType.IMAGE, 1, 1, 1, 1);
	 * diagram.save("out-InsertActiveXControl.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addActiveXControl(type, pinX, pinY, width, height) {
	}

	/**
	 * Adds shape created by master on page with defined PinX and PinY.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {String} masterName - Master's name.
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	addShape(pinX, pinY, masterName) {
	}

	/**
	 * Adds shape created by master on page with defined PinX,PinY,Width and Height.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the shape in inches.
	 * @param {Number} height - Specifies the height of the shape in inches.
	 * @param {String} masterName - Master's name.
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	addShape(pinX, pinY, width, height, masterName) {
	}

	/**
	 * Adds shape created by master to specific page.
	 * @param {Shape} newShape - New shape object
	 * @param {String} masterName - Master's name.
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	addShape(newShape, masterName) {
	}

	/**
	 * Lays out the shapes and/or reroutes the connectors for the page.
	 * @param {LayoutOptions} options - Using the
	 */
	layout(options) {
	}

	/**
	 * Connect shapes via connector.
	 * @param {Shape} shapeFrom - The shape where the connector begins
	 * @param {Number} placeFrom - ConnectionPointPlace
	 * @param {Shape} shapeTo - The shape where the connector ends
	 * @param {Number} placeTo - ConnectionPointPlace
	 * @param {Shape} connector - The shape with type Dynamic connector
	 */
	connectShapesViaConnector(shapeFrom, placeFrom, shapeTo, placeTo, connector) {
	}

	/**
	 * Connect shapes via connector.
	 * @param {long} shapeFromId - The ID of shape where the connector begins
	 * @param {Number} placeFrom - ConnectionPointPlace
	 * @param {long} shapeToId - The ID of shape where the connector ends
	 * @param {Number} placeTo - ConnectionPointPlace
	 * @param {long} connectorId - The ID of shape with type Dynamic connector
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
	 * // set sub shape ids
	 * shapeFromId = 2;
	 * shapeToId = 4;
	 * // access a particular page
	 * page = diagram.getPages().getPage("Page-3");
	 * // initialize connector shape
	 * shape = new aspose.diagram.Shape();
	 * shape.getLine().getEndArrow().setValue(4);
	 * shape.getLine().getLineWeight().setValue(0.01388);
	 * // add shape
	 * connecter1Id = page.addShape(shape, "Dynamic connector");
	 * // connect sub-shapes
	 * page.connectShapesViaConnector(
	 * shapeFromId,
	 * aspose.diagram.ConnectionPointPlace.RIGHT,
	 * shapeToId,
	 * aspose.diagram.ConnectionPointPlace.LEFT,
	 * connecter1Id);
	 * diagram.save("out-ConnectVisioSubShapes.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	connectShapesViaConnector(shapeFromId, placeFrom, shapeToId, placeTo, connectorId) {
	}

	/**
	 * Connect shapes via connector.
	 * @param {long} shapeFromId - The ID of shape where the connector begins
	 * @param {String} fromConnectionName - The connection name on the first shape where connector will be connected .
	 * @param {long} shapeToId - The ID of shape where the connector ends
	 * @param {String} toConnectionName - The connection name on the second shape where connector will be connected .
	 * @param {long} connectorId - The ID of shape with type Dynamic connector
	 */
	connectShapesViaConnector(shapeFromId, fromConnectionName, shapeToId, toConnectionName, connectorId) {
	}

	/**
	 * Glue shape to Connector's BeginX
	 * @param {long} shapeFromId - The ID of shape where the connector begins
	 * @param {String} connectionName - The connection name on the shape where connector will be connected .
	 * @param {long} connectorId - The ID of shape with type Dynamic connector
	 */
	glueShapeToConnectorBeginX(shapeFromId, connectionName, connectorId) {
	}

	/**
	 * Glue shape to Connector's EndX
	 * @param {long} shapeToId - The ID of shape where the connector ends
	 * @param {String} connectionName - The connection name on the second shape where connector will be connected .
	 * @param {long} connectorId - The ID of shape with type Dynamic connector
	 */
	glueShapeToConnectorEndX(shapeToId, connectionName, connectorId) {
	}

	/**
	 * Connect shapes via connector index.
	 * @param {long} shapeFromId - The ID of shape where the connector begins
	 * @param {Number} fromIndex - The index of the connection on the first shape
	 * @param {long} shapeToId - The ID of shape where the connector ends
	 * @param {Number} toIndex - he index of the connection on the second shape
	 * @param {long} connectorId - The ID of shape with type Dynamic connector
	 */
	connectShapesViaConnectorIndex(shapeFromId, fromIndex, shapeToId, toIndex, connectorId) {
	}

	/**
	 * Connect shapes via connector index.
	 * @param {Shape} shapeFrom - The shape where the connector begins
	 * @param {Number} fromIndex - The index of the connection on the first shape
	 * @param {Shape} shapeTo - The shape where the connector ends
	 * @param {Number} toIndex - he index of the connection on the second shape
	 * @param {Shape} connector - The shape with type Dynamic connector
	 */
	connectShapesViaConnectorIndex(shapeFrom, fromIndex, shapeTo, toIndex, connector) {
	}

	/**
	 * Glue shapes.
	 * @param {Shape} shapeFrom - The shape which is glue from
	 * @param {Number} placeTo - ConnectionPointPlace
	 * @param {Shape} shapeTo - The shape where to glue to
	 */
	glueShapes(shapeFrom, placeTo, shapeTo) {
	}

	/**
	 * Glue shapes
	 * @param {long} shapeFromId - The ID of shape which is glue from
	 * @param {Number} placeTo - ConnectionPointPlace
	 * @param {long} shapeToId - The ID of shape where to glue to
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("GlueVisioShapes.vsdx");
	 * // Get a particular page
	 * page = diagram.getPages().getPage("Page-1");
	 * // set shape id
	 * shape1_ID = 7;
	 * shape2_ID = 494;
	 * // Glue shapes
	 * page.glueShapes(shape1_ID, aspose.diagram.ConnectionPointPlace.CENTER, shape2_ID);
	 * diagram.save("out-GlueVisioShapes.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	glueShapes(shapeFromId, placeTo, shapeToId) {
	}

	/**
	 * Glue shapes by connection id in container
	 * @param {long} shapeFromId - The ID of shape which is glue from
	 * @param {Number} shapeToBeginConnectionID - The location on the first connection id where to glue .
	 * @param {Number} shapeToEndConnectionID - The location on the end connection id where to glue .
	 * @param {long} shapeToId - The ID of shape where to glue to
	 */
	glueShapesInContainerByID(shapeFromId, shapeToBeginConnectionID, shapeToEndConnectionID, shapeToId) {
	}

	/**
	 * Glue shapes in container using connection name
	 * @param {long} shapeFromId - The ID of shape which is glue from
	 * @param {String} shapeToBeginConnectionName - The location on the first connection name where to glue .
	 * @param {String} shapeToEndConnectionName - The location on the end connection name where to glue .
	 * @param {long} shapeToId - The ID of shape where to glue to
	 */
	glueShapesInContainer(shapeFromId, shapeToBeginConnectionName, shapeToEndConnectionName, shapeToId) {
	}

	/**
	 * Glue shapes in container
	 * @param {long} shapeFromId - The ID of shape which is glue from
	 * @param {Number} shapeToBeginConnectionIndex - The location on the first connection index where to glue .
	 * @param {Number} shapeToEndConnectionIndex - The location on the end connection index where to glue .
	 * @param {long} shapeToId - The ID of shape where to glue to
	 */
	glueShapesInContainer(shapeFromId, shapeToBeginConnectionIndex, shapeToEndConnectionIndex, shapeToId) {
	}

	/**
	 * Brings a shape,defined by ID, forward one position in the z-order.
	 * @param {long} shapeId - ID of shape.
	 */
	bringForward(shapeId) {
	}

	/**
	 * Moves a shape,defined by ID, back one position in the z-order.
	 * @param {long} shapeId - ID of shape.
	 */
	sendBackward(shapeId) {
	}

	/**
	 * Brings a shape,defined by ID, to the front of the z-order.
	 * @param {long} shapeId - ID of shape.
	 */
	bringToFront(shapeId) {
	}

	/**
	 * Moves a shape,defined by ID, to the back of the z-order.
	 * @param {long} shapeId - ID of shape.
	 */
	sendToBack(shapeId) {
	}

	/**
	 * Adds comment to a shape with shape's id.
	 * @param {} shape -  The ID of shape which is adding comment.
	 * @param {String} comment - Comment's string.
	 */
	addComment(shapeID, comment) {
	}

	/**
	 * Adds comment to a shape.
	 * @param {Shape} shape - Specifies the shape which is adding comment  .
	 * @param {String} comment - Comment's string.
	 */
	addComment(shape, comment) {
	}

	/**
	 * Adds comment with defined PinX and PinY.
	 * @param {Number} pinX - Specifies the x-coordinate of the comment's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the comment's pin (center of rotation) in relation to the page.
	 * @param {String} comment - Comment's string.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var diagram = new aspose.diagram.Diagram("Drawing1.vsdx");
	 * // Add comment
	 * diagram.getPages().getPage(0).addComment(7.205905511811023, 3.880708661417323, "test@");
	 * // Save diagram
	 * diagram.save("out-AddPageLevelCommentInVisio.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addComment(pinX, pinY, comment) {
	}

	/**
	 * Auto space shapes
	 * @param {ShapeCollection} shapes - Specifies the shapes be auto spaced.
	 */
	autoSpaceShapes(shapes, options) {
	}

	/**
	 * Adds Text with defined PinX and PinY.
	 * @param {Number} pinX - Specifies the x-coordinate of the text's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the text's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the text.
	 * @param {Number} height - Specifies the height of the text.
	 * @param {String} text - text string.
	 * @param {String} fontName - text font name.
	 * @param {String} fontColor - text font color.
	 * @param {Number} size - text font size.
	 * @return {Shape} Returns a shape object that represents the new text object.
	 */
	addText(pinX, pinY, width, height, text, fontName, fontColor, size) {
	}

	/**
	 * Adds Text with defined PinX and PinY.
	 * @param {Number} pinX - Specifies the x-coordinate of the text's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the text's pin (center of rotation) in relation to the page.
	 * @param {String} text - text string.
	 * @return {Shape} Returns a shape object that represents the new text object.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram();
	 * // set parameters
	 * PinX = 1, PinY = 1, Width = 1, Height = 1;
	 * text = "Test text";
	 * // add text to a Visio page
	 * diagram.getPages().getPage(0).addText(PinX, PinY, Width, Height, text);
	 * diagram.save("out-InsertTextShape.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	addText(pinX, pinY, width, height, text) {
	}

	/**
	 * The process of drawing a single line.
	 * @param {Number} beginX - Specifies the begin x-coordinate of the shape's position in relation to the page.
	 * @param {Number} beginY - Specifies the begin y-coordinate of the shape's position in relation to the page.
	 * @param {Number} endX - Specifies the end x-coordinate of the shape's position in relation to the page.
	 * @param {Number} endY - Specifies the end y-coordinate of the shape's position in relation to the page.
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	drawLine(beginX, beginY, endX, endY) {
	}

	/**
	 * The process of drawing rectangle.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the shape
	 * @param {Number} height - Specifies the height of the shape
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	drawRectangle(pinX, pinY, width, height) {
	}

	/**
	 * The process of drawing line.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the shape
	 * @param {Number} height - Specifies the height of the shape
	 * @param {Number[]} xyArray - An array of alternating x and y values that defines points in the new shape
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	drawLine(pinX, pinY, width, height, xyArray) {
	}

	/**
	 * The process of drawing Ellipse.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the shape
	 * @param {Number} height - Specifies the height of the shape
	 * @return {long}
	 */
	drawEllipse(pinX, pinY, width, height) {
	}

	/**
	 * The process of drawing Polyline.
	 * @param {Number} pinX - Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} pinY - Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the page.
	 * @param {Number} width - Specifies the width of the shape
	 * @param {Number} height - Specifies the height of the shape
	 * @param {Number[]} xyArray - An array of alternating x and y values that defines points in the new shape
	 * @return {long} The unique ID of the shape within shapes collection on the specified page.
	 */
	drawPolyline(pinX, pinY, width, height, xyArray) {
	}

}

/**
 * Page collection.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * originalDiagram = new aspose.diagram.Diagram("Pages.vsdx");
 * // initialize the new visio diagram
 * newDiagram = new aspose.diagram.Diagram();
 * // add all masters from the source Visio diagram
 * originalMasters = originalDiagram.getMasters();
 * for (var it = originalMasters.iterator(); it.hasNext();) {
 * master = it.next();
 * newDiagram.addMaster(originalDiagram, master.getName());
 * }
 * // get the page object from the original diagram
 * SrcPage = originalDiagram.getPages().getPage("Page-1");
 * // set page name
 * SrcPage.setName("new page");
 * // it calculates max page id
 * max = 0;
 * if (newDiagram.getPages().getCount() != 0) {
 * max = newDiagram.getPages().get(0).getID();
 * }
 * for (i = 1; i < newDiagram.getPages().getCount(); i++) {
 * if (max < newDiagram.getPages().get(i).getID()) {
 * max = newDiagram.getPages().get(i).getID();
 * }
 * }
 * MaxPageId = max;
 * // set page id
 * SrcPage.setID(MaxPageId);
 * // add reference of the original diagram page
 * newDiagram.getPages().add(SrcPage);
 * // remove first empty page
 * newDiagram.getPages().remove(newDiagram.getPages().get(0));
 * // save diagram in VDX format
 * newDiagram.save("out-CopyVisioPage.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class PageCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Page}
	 */
	get(index) {
	}

	/**
	 * Add the page in the collection.
	 * @param {Page} page
	 * @return {Number}
	 */
	add(page) {
	}

	/**
	 * Performs application-defined tasks associated with freeing, releasing, or
	 * resetting unmanaged resources.
	 */
	dispose() {
	}

	/**
	 * Remove the page from the collection.
	 * @param {Page} page
	 */
	remove(page) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID
	 * @return {Page}
	 */
	getPage(ID) {
	}

	/**
	 * Gets the element at the specified name.
	 * @param {String} name
	 * @return {Page}
	 */
	getPage(name) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Info for a page ends saving process.
 * @hideconstructor
 */
class PageEndSavingArgs {
	/**
	 * Gets or sets a value indicating whether having more pages to be output.
	 * The default value is true.
	 */
	hasMorePages() {
	}
	/**
	 * Gets or sets a value indicating whether having more pages to be output.
	 * The default value is true.
	 */
	setHasMorePages(value) {
	}

	/**
	 * Current page index, zero based.
	 */
	getPageIndex() {
	}

	/**
	 * Total page count.
	 */
	getPageCount() {
	}

}

/**
 * Contains cells that control the page layout settings for shapes and connectors, such as spacing between all shapes on the page, spacing between all connectors on the page, and routing style for all connectors on the page.
 * @hideconstructor
 */
class PageLayout {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies whether to enlarge the page to enclose the drawing after a user selects Lay Out Shapes (Shapes menu).
	 */
	getResizePage() {
	}

	/**
	 * Specifies whether Microsoft Visio lays out shapes based on an internal page grid when the user selects Lay Out Shapes (Shape menu).
	 */
	getEnableGrid() {
	}

	/**
	 * Specifies whether placeable shapes move and connectors reroute around other shapes and connectors on the drawing page.
	 */
	getDynamicsOff() {
	}

	/**
	 * Determines which shape is the parent when using shapes by control handles. This element sets the behavior for all the shapes on the drawing page.
	 */
	getCtrlAsInput() {
	}

	/**
	 * Specifies how shapes are placed on the page when shapes are laid out when a user selects Lay Out Shapes (Shape menu).
	 */
	getAvoidPageBreaks() {
	}

	/**
	 * Specifies the routing style and direction for all dynamic connectors on the drawing page that don't have a local routing style.
	 */
	getPlaceStyle() {
	}

	/**
	 * For a drawing that is laid out automatically, specifies the method by which the drawing is analyzed before creating the layout and determines the type of layout.
	 */
	getRouteStyle() {
	}

	/**
	 * Specifies whether placeable shapes move away when the user drags a placeable shape near another placeable shape on the drawing page.
	 */
	getPlaceDepth() {
	}

	/**
	 * Determines the dynamic connectors to which you want to add jumps.
	 */
	getPlowCode() {
	}

	/**
	 * Specifies the line jump style for all connectors on the drawing page that don't have a local line jump style.
	 */
	getLineJumpCode() {
	}

	/**
	 * Specifies the direction of line jumps on horizontal segments of dynamic connectors on the drawing page for which you haven't applied a local jump direction.
	 */
	getLineJumpStyle() {
	}

	/**
	 * Specifies the direction of line jumps on vertical dynamic connectors on the drawing page for which you haven't applied a local jump direction.
	 */
	getPageLineJumpDirX() {
	}

	/**
	 * Specifies the minimum horizontal clearance between dynamic connectors and shapes on the drawing page.
	 */
	getPageLineJumpDirY() {
	}

	/**
	 * Specifies the minimum vertical clearance between dynamic connectors and shapes on the drawing page.
	 */
	getLineToNodeX() {
	}

	/**
	 * Determines the horizontal block size, the area in which each of your shapes must fit on the drawing page when you use Microsoft Visio to lay out shapes on the drawing page.
	 */
	getLineToNodeY() {
	}

	/**
	 * Determines the vertical block size, the area in which each of your shapes must fit on the drawing page when you use Microsoft Visio to lay out shapes on the drawing page.
	 */
	getBlockSizeX() {
	}

	/**
	 * Determines the amount of horizontal space between shapes on the drawing page when you use Microsoft Visio to lay out shapes on the drawing page.
	 */
	getBlockSizeY() {
	}

	/**
	 * Determines the amount of vertical space between shapes on the drawing page when you use Microsoft Visio to lay out shapes on the drawing page.
	 */
	getAvenueSizeX() {
	}

	/**
	 * Determines the amount of vertical space between shapes on the drawing page when you use Microsoft Visio to lay out shapes on the drawing page.
	 */
	getAvenueSizeY() {
	}

	/**
	 * Specifies the minimum horizontal clearance between dynamic connectors on the drawing page.
	 */
	getLineToLineX() {
	}

	/**
	 * Specifies the minimum vertical clearance between dynamic connectors on the drawing page.
	 */
	getLineToLineY() {
	}

	/**
	 * Specifies the size of line jumps on horizontal segments of dynamic connectors on the page, as a percentage of the value of the LineToLineX element (which specifies the horizontal clearance between all connectors on the drawing page). The value of this element ranges from 0 to 10.
	 */
	getLineJumpFactorX() {
	}

	/**
	 * Specifies the size of line jumps on vertical segments of dynamic connectors on the page, as a percentage of the value of the LineToLineY element (which specifies the vertical clearance between all connectors on the drawing page). This element can contain a value from 0 to 10.
	 */
	getLineJumpFactorY() {
	}

	/**
	 * Specifies which dynamic connectors to space apart if they route on top of each other.
	 */
	getLineAdjustFrom() {
	}

	/**
	 * Specifies which dynamic connectors to line up on top of one another if they route on top of each other.
	 */
	getLineAdjustTo() {
	}

	/**
	 * Specifies how placeable shapes flip and/or rotate on a page when shapes are laid out using the Lay Out Shapes command in Microsoft Visio. The following hexadecimal values are allowed.
	 */
	getPlaceFlip() {
	}

	/**
	 * Specifies the default appearance for all connectors on a page.
	 */
	getLineRouteExt() {
	}

	/**
	 * Indicates whether shapes on the page can be split automatically.
	 */
	getPageShapeSplit() {
	}

}

/**
 * Specifies the direction of line jumps on horizontal segments of dynamic connectors on the drawing page for which you haven't applied a local jump direction.
 */
class PageLineJumpDirX {
	/**
	 * Constructor.
	 * @param {Number} value - PageLineJumpDirXValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the direction of line jumps on horizontal segments of dynamic connectors on the drawing page for which you haven't applied a local jump direction.
	 * The value of the property is PageLineJumpDirXValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the direction of line jumps on horizontal segments of dynamic connectors on the drawing page for which you haven't applied a local jump direction.
	 * The value of the property is PageLineJumpDirXValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the direction of line jumps on vertical dynamic connectors on the drawing page for which you haven't applied a local jump direction.
 */
class PageLineJumpDirY {
	/**
	 * Constructor.
	 */
	constructor(value) {
	}

	/**
	 * Specifies the direction of line jumps on vertical dynamic connectors on the drawing page for which you haven't applied a local jump direction.
	 * The value of the property is PageLineJumpDirYValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the direction of line jumps on vertical dynamic connectors on the drawing page for which you haven't applied a local jump direction.
	 * The value of the property is PageLineJumpDirYValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains cells that control page attributes, such as the page width, height, and scale.
 * @hideconstructor
 */
class PageProps {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the width of the page in drawing units.
	 */
	getPageWidth() {
	}

	/**
	 * Specifies the height of the page in drawing units.
	 */
	getPageHeight() {
	}

	/**
	 * Specifies the distance in page units that a shape's drop shadow is offset horizontally from the shape.
	 */
	getShdwOffsetX() {
	}

	/**
	 * Specifies the distance in page units that a shape's drop shadow is offset vertically from the shape.
	 */
	getShdwOffsetY() {
	}

	/**
	 * Specifies the value of the default page unit in the current drawing scale. The drawing scale for the page is the ratio of the page unit in the PageScale element to the drawing unit shown in the DrawingScale element.
	 */
	getPageScale() {
	}

	/**
	 * Represents the value of the drawing unit in the current drawing scale. The drawing scale for the page is the ratio of the page unit contained in the PageScale element to the drawing unit. The units of this element determine default length (DL) units for the page.
	 */
	getDrawingScale() {
	}

	/**
	 * Specifies the drawing size of a page.
	 */
	getDrawingSizeType() {
	}

	/**
	 * Specifies the type of drawing scale to use for a page.
	 */
	getDrawingScaleType() {
	}

	/**
	 * Specifies whether the shapes on a foreground page snap to other objects on the page and shapes on the background page.
	 */
	getInhibitSnap() {
	}

	/**
	 * Determines whether the page name is exposed in the user interface (UI).
	 * A value of one specifies that the page is not visible; a value of zero specifies the page is visible
	 */
	getUIVisibility() {
	}

	/**
	 * Indicates the default shadow type for a page.
	 */
	getShdwType() {
	}

	/**
	 * Contains a number that specifies the angle of oblique direction when the default page shadow type is applied.
	 */
	getShdwObliqueAngle() {
	}

	/**
	 * Specifies the percentage to enlarge or reduce a shape's shadow.
	 */
	getShdwScaleFactor() {
	}

	/**
	 * Determines whether the drawing page resizes automatically to fit the diagram.
	 */
	getDrawingResizeType() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Info for a page saving process.
 * @hideconstructor
 */
class PageSavingArgs {
	/**
	 * Current page index, zero based.
	 */
	getPageIndex() {
	}

	/**
	 * Total page count.
	 */
	getPageCount() {
	}

}

/**
 * Contains elements that define the page sheet for a Page or Master element.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * srcVisio = new aspose.diagram.Diagram("AddingNewShape.vsdx");
 * // initialize a new Visio
 * newDiagram = new aspose.diagram.Diagram();
 * // add all masters from the source Visio diagram
 * originalMasters = srcVisio.getMasters();
 * for (it = originalMasters.iterator(); it.hasNext();) {
 * master = it.next();
 * newDiagram.addMaster(srcVisio, master.getName());
 * }
 * // get the page object from the original diagram
 * SrcPage = srcVisio.getPages().getPage("Page-1");
 * // copy themes from the source diagram
 * newDiagram.copyTheme(srcVisio);
 * // copy pagesheet of the source Visio page
 * newDiagram.getPages().get(0).getPageSheet().copy(SrcPage.getPageSheet());
 * // copy shapes from the source Visio page
 * for (it = SrcPage.getShapes().iterator(); it.hasNext();) {
 * shape = it.next();
 * newDiagram.getPages().get(0).getShapes().add(shape);
 * }
 * newDiagram.save("out-CopyShapes.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class PageSheet {
	/**
	 * StyleSheet element from which the PageSheet inherits line formatting.
	 */
	getLineStyle() {
	}
	/**
	 * StyleSheet element from which the PageSheet inherits line formatting.
	 */
	setLineStyle(value) {
	}

	/**
	 * StyleSheet element from which the PageSheet inherits fill formatting.
	 */
	getFillStyle() {
	}
	/**
	 * StyleSheet element from which the PageSheet inherits fill formatting.
	 */
	setFillStyle(value) {
	}

	/**
	 * StyleSheet element from which the PageSheet inherits text formatting.
	 */
	getTextStyle() {
	}
	/**
	 * StyleSheet element from which the PageSheet inherits text formatting.
	 */
	setTextStyle(value) {
	}

	/**
	 * A GUID (globally unique identifier) for the element.
	 */
	getUniqueID() {
	}

	/**
	 * Contains elements specifying general positioning information about a shape.
	 */
	getXForm() {
	}

	/**
	 * Contains Diagram that control page attributes, such as the page width, height, and scale.
	 */
	getPageProps() {
	}

	/**
	 * Contains elements that specify the settings of the page's rulers and grid.
	 */
	getRulerGrid() {
	}

	/**
	 * Contains Diagram that control the page layout settings for shapes and connectors, such as spacing between all shapes on the page, spacing between all connectors on the page, and routing style for all connectors on the page.
	 */
	getPageLayout() {
	}

	/**
	 * Contains elements that control how the drawing page is formatted (appears) on the printer page.
	 */
	getPrintProps() {
	}

	/**
	 * Contains a collection of Scratch elements.
	 */
	getScratchs() {
	}

	/**
	 * Contains a collection of Connection elements.
	 */
	getConnections() {
	}

	/**
	 * Contains a collection of ConnectionABCD elements.
	 */
	getConnectionABCDs() {
	}

	/**
	 * Contains a collection of Act elements.
	 */
	getActs() {
	}

	/**
	 * Contains a collection of Layer elements.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Layers.vsdx");
	 * // get Visio page
	 * page = diagram.getPages().getPage("Page-1");
	 * layers = page.getPageSheet().getLayers();
	 * // iterate through the layers
	 * for (var it = layers.iterator(); it.hasNext();) {
	 * layer = it.next();
	 * console.log("Name: " + layer.getName().getValue());
	 * console.log("Visibility: " + layer.getVisible().getValue());
	 * console.log("Status: " + layer.getStatus().getValue());
	 * }
	 */
	getLayers() {
	}

	/**
	 * Contains a collection of User elements.
	 */
	getUsers() {
	}

	/**
	 * Contains a collection of Prop elements.
	 */
	getProps() {
	}

	/**
	 * Contains a collection of Hyperlink elements.
	 */
	getHyperlinks() {
	}

	/**
	 * Contains a collection of SmartTagDef elements.
	 */
	getSmartTagDefs() {
	}

	/**
	 * Contains elements that contain information about comments inserted into a document page.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var diagram = new aspose.diagram.Diagram("Drawing1.vsdx");
	 * // get collection of the annotations
	 * annotations = diagram.getPages().getPage("Page-1").getPageSheet().getAnnotations();
	 * for (var it = annotations.iterator(); it.hasNext();) {
	 * annotation = it.next();
	 * var comment = annotation.getComment().getValue();
	 * comment += "Updation mark";
	 * annotation.getComment().setValue(comment);
	 * }
	 * diagram.save("out-EditPageLevelCommentInVisio.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getAnnotations() {
	}

	/**
	 * Contains elements specifying the width and height of an object from another program used in a Microsoft Visio document. Also includes elements specifying the distance the object's image is offset within its borders.
	 */
	getForeign() {
	}

	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded BLOB of picture data, such as Windows metafile, bitmap, or OLE data.
	 */
	getForeignData() {
	}

	/**
	 * Copies pagesheet from a source object.
	 * @param {PageSheet} source - source pagesheet.
	 */
	copy(source) {
	}

}

/**
 * Contains information about page size for the generated images.
 */
class PageSize {
	/**
	 * Initializes a new instance of this class that can be used to set page size for the generated images.
	 * @param {Number} paperSizeFormat - PaperSizeFormat
	 */
	constructor(paperSizeFormat) {
	}
	/**
	 * Initializes a new instance of this class that can be used to set page size for the generated images.
	 * @param {Number} width - Page width in points for the the generated images.
	 * @param {Number} height - Page height in points for the the generated images.
	 */
	constructor_overload$1(width, height) {
	}

	/**
	 * Gets or sets the page width in points for the the generated images.
	 * The value must be > 0. If Width is set, Height must be set too.
	 */
	getWidth() {
	}
	/**
	 * Gets or sets the page width in points for the the generated images.
	 * The value must be > 0. If Width is set, Height must be set too.
	 */
	setWidth(value) {
	}

	/**
	 * Gets or sets the page height in points for the the generated images.
	 * The value must be > 0. If Height is set,Width must be set too.
	 */
	getHeight() {
	}
	/**
	 * Gets or sets the page height in points for the the generated images.
	 * The value must be > 0. If Height is set,Width must be set too.
	 */
	setHeight(value) {
	}

	/**
	 * Gets or sets the paper size format for the generated images.
	 * Can be PaperSizeFormat.
	 * The value of the property is PaperSizeFormat integer constant.
	 */
	getPaperSizeFormat() {
	}
	/**
	 * Gets or sets the paper size format for the generated images.
	 * Can be PaperSizeFormat.
	 * The value of the property is PaperSizeFormat integer constant.
	 */
	setPaperSizeFormat(value) {
	}

}

/**
 * Info for a page starts saving process.
 * @hideconstructor
 */
class PageStartSavingArgs {
	/**
	 * Gets or sets a value indicating whether the page should be output.
	 * The default value is true.
	 */
	isToOutput() {
	}
	/**
	 * Gets or sets a value indicating whether the page should be output.
	 * The default value is true.
	 */
	setToOutput(value) {
	}

	/**
	 * Current page index, zero based.
	 */
	getPageIndex() {
	}

	/**
	 * Total page count.
	 */
	getPageCount() {
	}

}

/**
 * Contains the paragraph formatting elements for the shape's text, such as indents, line spacing, bullets, and horizontal alignment of paragraphs.
 */
class Para {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the distance the first line of each paragraph in the shape's text block is indented from the left indent of the paragraph. This value is independent of the scale of the drawing. If the drawing is scaled, the first line indent remains the same.
	 */
	getIndFirst() {
	}
	/**
	 * Specifies the distance the first line of each paragraph in the shape's text block is indented from the left indent of the paragraph. This value is independent of the scale of the drawing. If the drawing is scaled, the first line indent remains the same.
	 */
	setIndFirst(value) {
	}

	/**
	 * Specifies the distance all lines of text in a paragraph are indented from the left margin of the text block. This value is independent of the scale of the drawing. If the drawing is scaled, the left indent remains the same.
	 */
	getIndLeft() {
	}
	/**
	 * Specifies the distance all lines of text in a paragraph are indented from the left margin of the text block. This value is independent of the scale of the drawing. If the drawing is scaled, the left indent remains the same.
	 */
	setIndLeft(value) {
	}

	/**
	 * Specifies the distance all lines of text in a paragraph are indented from the right margin of the text block. This value is independent of the scale of the drawing. If the drawing is scaled, the right indent remains the same.
	 */
	getIndRight() {
	}
	/**
	 * Specifies the distance all lines of text in a paragraph are indented from the right margin of the text block. This value is independent of the scale of the drawing. If the drawing is scaled, the right indent remains the same.
	 */
	setIndRight(value) {
	}

	/**
	 * Specifies the distance between one line of text and the next, where 100% is the height of a text line.
	 */
	getSpLine() {
	}
	/**
	 * Specifies the distance between one line of text and the next, where 100% is the height of a text line.
	 */
	setSpLine(value) {
	}

	/**
	 * Specifies the amount of space inserted before each paragraph in the shape's text block.
	 */
	getSpBefore() {
	}
	/**
	 * Specifies the amount of space inserted before each paragraph in the shape's text block.
	 */
	setSpBefore(value) {
	}

	/**
	 * Specifies the amount of space inserted after each paragraph in the shape's text block.
	 */
	getSpAfter() {
	}
	/**
	 * Specifies the amount of space inserted after each paragraph in the shape's text block.
	 */
	setSpAfter(value) {
	}

	/**
	 * Specifies the horizontal alignment of text in the shape's text block.
	 */
	getHorzAlign() {
	}
	/**
	 * Specifies the horizontal alignment of text in the shape's text block.
	 */
	setHorzAlign(value) {
	}

	/**
	 * Determines the bullet style.
	 */
	getBullet() {
	}
	/**
	 * Determines the bullet style.
	 */
	setBullet(value) {
	}

	/**
	 * "Used to create a custom bullet style. Enter the style as a string (within quotation marks). For example, you could enter the string, ""ooo."""
	 */
	getBulletStr() {
	}
	/**
	 * "Used to create a custom bullet style. Enter the style as a string (within quotation marks). For example, you could enter the string, ""ooo."""
	 */
	setBulletStr(value) {
	}

	/**
	 * Represents the number of the font used to format the text when a custom bullet string is specified and the value in the Bullet element is non-zero.
	 */
	getBulletFont() {
	}
	/**
	 * Represents the number of the font used to format the text when a custom bullet string is specified and the value in the Bullet element is non-zero.
	 */
	setBulletFont(value) {
	}

	/**
	 * Specifies whether the bullet font should be localized (translated into another language).
	 */
	getLocalizeBulletFont() {
	}
	/**
	 * Specifies whether the bullet font should be localized (translated into another language).
	 */
	setLocalizeBulletFont(value) {
	}

	/**
	 * Specifies the size of a bullet.
	 */
	getBulletFontSize() {
	}
	/**
	 * Specifies the size of a bullet.
	 */
	setBulletFontSize(value) {
	}

	/**
	 * Represents the distance between the first line of the paragraph and the bullet.
	 */
	getTextPosAfterBullet() {
	}
	/**
	 * Represents the distance between the first line of the paragraph and the bullet.
	 */
	setTextPosAfterBullet(value) {
	}

	/**
	 * Indicates whether the text direction is left to right or right to left.
	 */
	getFlags() {
	}
	/**
	 * Indicates whether the text direction is left to right or right to left.
	 */
	setFlags(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Para collection.
 * @hideconstructor
 */
class ParaCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Para}
	 */
	get(index) {
	}

	/**
	 * Add the Para object in the collection.
	 * @param {Para} item
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Para object from the collection.
	 * @param {Para} item
	 */
	remove(item) {
	}

	/**
	 * Gets the element at the specified index IX. Returns Null if the element is not exist.
	 * @param {Number} IX
	 * @return {Para}
	 */
	getPara(IX) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains details for a pdf encryption.
 */
class PdfEncryptionDetails {
	/**
	 * Ctor.
	 */
	constructor(userPassword, ownerPassword, encryptionAlgorithm) {
	}

	/**
	 * Gets or sets the User password.
	 * Opening the document with the correct user password (or opening a document
	 * that does not have a user password) allows additional operations to be
	 * performed according to the user access permissions specified in the document’s
	 * encryption dictionary.
	 */
	getUserPassword() {
	}
	/**
	 * Gets or sets the User password.
	 * Opening the document with the correct user password (or opening a document
	 * that does not have a user password) allows additional operations to be
	 * performed according to the user access permissions specified in the document’s
	 * encryption dictionary.
	 */
	setUserPassword(value) {
	}

	/**
	 * Gets or sets the Owner password.
	 * Opening the document with the correct owner password (assuming it is not the
	 * same as the user password) allows full (owner) access to the document. This
	 * unlimited access includes the ability to change the document’s passwords and
	 * access permissions.
	 */
	getOwnerPassword() {
	}
	/**
	 * Gets or sets the Owner password.
	 * Opening the document with the correct owner password (assuming it is not the
	 * same as the user password) allows full (owner) access to the document. This
	 * unlimited access includes the ability to change the document’s passwords and
	 * access permissions.
	 */
	setOwnerPassword(value) {
	}

	/**
	 * Gets or sets the permissions.
	 * The value of the property is PdfPermissions integer constant.
	 */
	getPermissions() {
	}
	/**
	 * Gets or sets the permissions.
	 * The value of the property is PdfPermissions integer constant.
	 */
	setPermissions(value) {
	}

	/**
	 * Gets or sets the encryption mode.
	 * The value of the property is PdfEncryptionAlgorithm integer constant.
	 */
	getEncryptionAlgorithm() {
	}
	/**
	 * Gets or sets the encryption mode.
	 * The value of the property is PdfEncryptionAlgorithm integer constant.
	 */
	setEncryptionAlgorithm(value) {
	}

}

/**
 * Allows to specify additional options when rendering diagram pages to PDF.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("VisioSaveOptions.vsdx");
 * // Options when saving a diagram into the PDF format
 * options = new aspose.diagram.PdfSaveOptions();
 * // discard saving background pages of the Visio diagram
 * options.setSaveForegroundPagesOnly(true);
 * // specify the quality of JPEG compression for images (if JPEG
 * // compression is used). Default is 95.
 * options.setJpegQuality(100);
 * // specify default font name
 * options.setDefaultFont("Arial");
 * // conformance level for generated PDF document.
 * options.setCompliance(aspose.diagram.PdfCompliance.PDF_15);
 * // Load the certificate from disk.
 * // The other constructor overloads can be used to load certificates from
 * // different locations.
 * cert = new aspose.diagram.X509Certificate2();
 * // sets a digital signature details. If not set, then no signing will be
 * // performed.
 * options.setDigitalSignatureDetails(
 * new aspose.diagram.PdfDigitalSignatureDetails(
 * cert,
 * "Test Signing",
 * "Aspose Office",
 * aspose.diagram.DateTime.getNow(),
 * aspose.diagram.PdfDigitalSignatureHashAlgorithm.SHA_256));
 * // set encription details
 * encriptionDetails = new aspose.diagram.PdfEncryptionDetails("user password", "Owner Password",
 * aspose.diagram.PdfEncryptionAlgorithm.RC_4_128);
 * options.setEncryptionDetails(encriptionDetails);
 * // sets the number of pages to render in PDF.
 * options.setPageCount(2);
 * // sets the 0-based index of the first page to render. Default is 0.
 * options.setPageIndex(0);
 * // set page size
 * pgSize = new aspose.diagram.PageSize(aspose.diagram.PaperSizeFormat.A_1);
 * options.setPageSize(pgSize);
 * // save in any supported file format
 * diagram.save("out-UsePDFSaveOptions.pdf", options);
 */
class PdfSaveOptions {
	/**
	 * Initializes a new instance of this class that can be used to save a document in the SaveFileFormat format.
	 */
	constructor() {
	}

	/**
	 * Gets or sets the number of pages to render in PDF.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	getPageCount() {
	}
	/**
	 * Gets or sets the number of pages to render in PDF.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	setPageCount(value) {
	}

	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	getPageIndex() {
	}
	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	setPageIndex(value) {
	}

	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	getSaveForegroundPagesOnly() {
	}
	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	setSaveForegroundPagesOnly(value) {
	}

	/**
	 * Desired conformance level for generated PDF document.
	 * Default is PdfCompliance.PDF_15.
	 * The value of the property is PdfCompliance integer constant.
	 */
	getCompliance() {
	}
	/**
	 * Desired conformance level for generated PDF document.
	 * Default is PdfCompliance.PDF_15.
	 * The value of the property is PdfCompliance integer constant.
	 */
	setCompliance(value) {
	}

	/**
	 * Gets or sets a encryption details. If not set, then no encryption will be performed.
	 */
	getEncryptionDetails() {
	}
	/**
	 * Gets or sets a encryption details. If not set, then no encryption will be performed.
	 */
	setEncryptionDetails(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

	/**
	 * Control/Indicate progress of page saving process.
	 */
	getPageSavingCallback() {
	}
	/**
	 * Control/Indicate progress of page saving process.
	 */
	setPageSavingCallback(value) {
	}

	/**
	 * Specifies the quality of JPEG compression for images (if JPEG compression is used).
	 * Default is 95.
	 */
	getJpegQuality() {
	}
	/**
	 * Specifies the quality of JPEG compression for images (if JPEG compression is used).
	 * Default is 95.
	 */
	setJpegQuality(value) {
	}

	/**
	 * Gets or sets the horizontal resolution for generated images, in dots per inch.
	 * Applies generating image method except Emf format images.
	 * The default value is 96.
	 */
	getHorizontalResolution() {
	}
	/**
	 * Gets or sets the horizontal resolution for generated images, in dots per inch.
	 * Applies generating image method except Emf format images.
	 * The default value is 96.
	 */
	setHorizontalResolution(value) {
	}

	/**
	 * Gets or sets the vertical  resolution for generated images, in dots per inch.
	 * Applies generating image method except Emf format image.
	 * The default value is 96.
	 */
	getVerticalResolution() {
	}
	/**
	 * Gets or sets the vertical  resolution for generated images, in dots per inch.
	 * Applies generating image method except Emf format image.
	 * The default value is 96.
	 */
	setVerticalResolution(value) {
	}

	/**
	 * Defines whether split diagram to multi pages according to page's setting.
	 * Default value is false.
	 */
	getSplitMultiPages() {
	}
	/**
	 * Defines whether split diagram to multi pages according to page's setting.
	 * Default value is false.
	 */
	setSplitMultiPages(value) {
	}

	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize PDF save options
	 * options = new aspose.diagram.PdfSaveOptions();
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToPDF.pdf", options);
	 */
	getExportHiddenPage() {
	}
	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize PDF save options
	 * options = new aspose.diagram.PdfSaveOptions();
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToPDF.pdf", options);
	 */
	setExportHiddenPage(value) {
	}

	/**
	 * Specifies compression type to be used for all content streams except images.
	 * Default is PdfTextCompression.FLATE.
	 * The value of the property is PdfTextCompression integer constant.
	 */
	getTextCompression() {
	}
	/**
	 * Specifies compression type to be used for all content streams except images.
	 * Default is PdfTextCompression.FLATE.
	 * The value of the property is PdfTextCompression integer constant.
	 */
	setTextCompression(value) {
	}

	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	getPageSize() {
	}
	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	setPageSize(value) {
	}

	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	getShapes() {
	}
	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	setShapes(value) {
	}

	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	getExportGuideShapes() {
	}
	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	setExportGuideShapes(value) {
	}

	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	isExportComments() {
	}
	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	setExportComments(value) {
	}

	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	getEnlargePage() {
	}
	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	setEnlargePage(value) {
	}

	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	getEmfRenderSetting() {
	}
	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	setEmfRenderSetting(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

}

/**
 * For a drawing that is laid out automatically, specifies the method by which the drawing is analyzed before creating the layout and determines the type of layout.
 */
class PlaceDepth {
	/**
	 * Constructor.
	 * @param {Number} value - PlaceDepthValue
	 */
	constructor(value) {
	}

	/**
	 * For a drawing that is laid out automatically, specifies the method by which the drawing is analyzed before creating the layout and determines the type of layout.
	 * The value of the property is PlaceDepthValue integer constant.
	 */
	getValue() {
	}
	/**
	 * For a drawing that is laid out automatically, specifies the method by which the drawing is analyzed before creating the layout and determines the type of layout.
	 * The value of the property is PlaceDepthValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies how placeable shapes flip and/or rotate on a page when shapes are laid out using the Lay Out Shapes command in Microsoft Visio. The following hexadecimal values are allowed.
 */
class PlaceFlip {
	/**
	 * Constructor.
	 * @param {Number} value - PlaceFlipValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies how placeable shapes flip and/or rotate on a page when shapes are laid out using the Lay Out Shapes command in Microsoft Visio. The following hexadecimal values are allowed.
	 * The value of the property is PlaceFlipValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies how placeable shapes flip and/or rotate on a page when shapes are laid out using the Lay Out Shapes command in Microsoft Visio. The following hexadecimal values are allowed.
	 * The value of the property is PlaceFlipValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies how shapes are placed on the page when shapes are laid out when a user selects Lay Out Shapes (Shape menu).
 */
class PlaceStyle {
	/**
	 * Constructor.
	 */
	constructor(value) {
	}

	/**
	 * Specifies how shapes are placed on the page when shapes are laid out when a user selects Lay Out Shapes (Shape menu).
	 * The value of the property is PlaceStyleValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies how shapes are placed on the page when shapes are laid out when a user selects Lay Out Shapes (Shape menu).
	 * The value of the property is PlaceStyleValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains x- and y-coordinates of the last point of a polyline and a polyline formula. The coordinates are specified in the X and Y elements, and the formula is specified in the A element.
 */
class PolylineTo {
	/**
	 * Creates an instance of the PolylineTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the ending vertex of a polyline.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the ending vertex of a polyline.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the ending vertex of a polyline.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the ending vertex of a polyline.
	 */
	setY(value) {
	}

	/**
	 * The polyline formula.
	 */
	getA() {
	}
	/**
	 * The polyline formula.
	 */
	setA(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * PolylineTo collection.
 * @hideconstructor
 */
class PolylineToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {PolylineTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies the position of the shape's text relative to the baseline.
 */
class Pos {
	/**
	 * Constructor.
	 * @param {Number} value - PosValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the position of the shape's text relative to the baseline.
	 * The value of the property is PosValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the position of the shape's text relative to the baseline.
	 * The value of the property is PosValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specifies the beginning of a paragraph properties run. The run is defined to the end of the text or until the next
 */
class Pp {
	/**
	 * Constructor
	 * @param {Number} IX - The index of the Para element that specifies the formatting applied to this run.
	 */
	constructor(IX) {
	}

	/**
	 * Value
	 */
	getValue() {
	}

}

/**
 * Specifies whether the document includes a preview, and, if so, whether the preview shows only the first page or all the pages in the document.
 */
class PreviewScope {
	/**
	 * Constructor.
	 * @param {Number} value - PreviewScopeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies whether the document includes a preview, and, if so, whether the preview shows only the first page or all the pages in the document.
	 * The value of the property is PreviewScopeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies whether the document includes a preview, and, if so, whether the preview shows only the first page or all the pages in the document.
	 * The value of the property is PreviewScopeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines whether the page is printed in portrait or landscape orientation.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
 * // get Visio page
 * page = diagram.getPages().getPage("Flow 1");
 * // page orientation
 * page.getPageSheet().getPrintProps().getPrintPageOrientation().setValue(aspose.diagram.PrintPageOrientationValue.LANDSCAPE);
 * diagram.save("out-SetPageOrientation.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class PrintPageOrientation {
	/**
	 * Constructor.
	 * @param {Number} value - PrintPageOrientationValue
	 */
	constructor(pp, value) {
	}

	/**
	 * Determines whether the page is printed in portrait or landscape orientation.
	 * The value of the property is PrintPageOrientationValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines whether the page is printed in portrait or landscape orientation.
	 * The value of the property is PrintPageOrientationValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that control how the drawing page is formatted (appears) on the printer page.
 * @hideconstructor
 */
class PrintProps {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the margin at the left of the printed page.
	 */
	getPageLeftMargin() {
	}

	/**
	 * Specifies the margin at the right of the printed page.
	 */
	getPageRightMargin() {
	}

	/**
	 * Specifies the margin at the top of the printer page.
	 */
	getPageTopMargin() {
	}

	/**
	 * Specifies the margin at the bottom of the printed page.
	 */
	getPageBottomMargin() {
	}

	/**
	 * Specifies the percentage of magnification of the drawing page on the printer page, in the x (horizontal) direction.
	 */
	getScaleX() {
	}

	/**
	 * Specifies the percentage of magnification of the drawing page on the printer page, in the y (vertical) direction.
	 */
	getScaleY() {
	}

	/**
	 * Determines the number of printer pages on which to fit the drawing page horizontally.
	 */
	getPagesX() {
	}

	/**
	 * Determines the number of printer pages on which to fit the drawing page vertically.
	 */
	getPagesY() {
	}

	/**
	 * Determines whether the drawing page is centered horizontally on the printed page.
	 */
	getCenterX() {
	}

	/**
	 * Determines whether the drawing page is centered vertically on the printed page.
	 */
	getCenterY() {
	}

	/**
	 * Indicates whether the drawing is printed on a specific number of printer pages.
	 */
	getOnPage() {
	}

	/**
	 * Specifies whether to print the grid when printing a document page.
	 */
	getPrintGrid() {
	}

	/**
	 * Determines whether the page is printed in portrait or landscape orientation.
	 */
	getPrintPageOrientation() {
	}

	/**
	 * Specifies the type of paper on which to print the page.
	 */
	getPaperKind() {
	}

	/**
	 * Determines the paper source for the page.
	 */
	getPaperSource() {
	}

}

/**
 * Allows to specify additional options when printing diagram.
 */
class PrintSaveOptions {
	/**
	 * Initializes a new instance of this class
	 */
	constructor() {
	}

	/**
	 * Gets or sets the number of pages to render when saving to a multipage file.
	 * Default is MaxValue which means all pages of the diagram will be printed.
	 */
	getPageCount() {
	}
	/**
	 * Gets or sets the number of pages to render when saving to a multipage file.
	 * Default is MaxValue which means all pages of the diagram will be printed.
	 */
	setPageCount(value) {
	}

	/**
	 * Specifies whether all pages will be printed or only foreground.
	 * If true - printed only foreground pages(with background if present).
	 * If false - printed foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	getSaveForegroundPagesOnly() {
	}
	/**
	 * Specifies whether all pages will be printed or only foreground.
	 * If true - printed only foreground pages(with background if present).
	 * If false - printed foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	setSaveForegroundPagesOnly(value) {
	}

	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	getPageSize() {
	}
	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	setPageSize(value) {
	}

	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	getShapes() {
	}
	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	setShapes(value) {
	}

	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	getExportGuideShapes() {
	}
	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	setExportGuideShapes(value) {
	}

	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	isExportComments() {
	}
	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	setExportComments(value) {
	}

	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	getEnlargePage() {
	}
	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	setEnlargePage(value) {
	}

	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	getEmfRenderSetting() {
	}
	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	setEmfRenderSetting(value) {
	}

	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Contains elements for defining custom properties and elements for associating data with a shape.
 */
class Prop {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
	 */
	getValue() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Prompt element specifies descriptive or instructional text that appears to users in the Custom Properties dialog box when the property is selected. This text also appears as a tool tip when the mouse pointer is paused over the property in the Custom Properties window.
	 */
	getPrompt() {
	}

	/**
	 * Specifies the label that appears to users in the Custom Properties dialog box.
	 */
	getLabel() {
	}

	/**
	 * Format element specifies the formatting of a custom property that is a string, fixed list, number, variable list, date or time, duration, or currency. The custom property type is specified in the corresponding Type element.
	 */
	getFormat() {
	}

	/**
	 * It specifies a key that determines the order in which custom properties are listed in the application's user interface.
	 */
	getSortKey() {
	}

	/**
	 * Type specifies a data type for the custom property value.
	 */
	getType() {
	}

	/**
	 * Invisible element specifies whether the custom property is visible in the Custom Properties dialog box in Microsoft Visio.
	 */
	getInvisible() {
	}

	/**
	 * Specifies whether the user is queried to enter custom property information for a shape when an instance is created or the shape is duplicated or copied.
	 */
	getVerify() {
	}

	/**
	 * Indicates the locale ID (LCID) of the language in which the cell formula, text, custom property, or comment was entered.
	 */
	getLangID() {
	}

	/**
	 * Determines the calendar that is used for custom properties, text fields, and element formulas.
	 */
	getCalendar() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Prop}
	 */
	deepClone() {
	}

}

/**
 * Prop collection.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
 * // get page by name
 * page = diagram.getPages().getPage("Page-3");
 * for (it = page.getShapes().iterator(); it.hasNext();) {
 * shape = it.next();
 * if (shape.getName() == "Process1") {
 * prop = shape.getProps().getProp("Name1");
 * console.log(prop.getLabel().getValue() + ": " + prop.getValue().getVal());
 * }
 * }
 * @hideconstructor
 */
class PropCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Prop}
	 */
	get(index) {
	}

	/**
	 * Add the Prop object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Prop object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID
	 * @return {Prop}
	 */
	getProp(ID) {
	}

	/**
	 * Gets the element at the specified name.
	 * @param {String} name
	 * @return {Prop}
	 */
	getProp(name) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Locking helps prevent inadvertent changes to the shape but does not prevent Microsoft Visio from resetting values in other circumstances. It also does not protect against changes made in the ShapeSheet window.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("ProtectAndUnprotect.vsd");
 * // get page by name
 * page = diagram.getPages().getPage("Flow 1");
 * // get shape by ID
 * shape = page.getShapes().getShape(1);
 * // set protections
 * shape.getProtection().getLockAspect().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockBegin().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockCalcWH().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockCrop().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockCustProp().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockDelete().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockEnd().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockFormat().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockFromGroupFormat().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockGroup().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockHeight().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockMoveX().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockMoveY().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockRotate().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockSelect().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockTextEdit().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockThemeColors().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockThemeEffects().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockVtxEdit().setValue(aspose.diagram.BOOL.TRUE);
 * shape.getProtection().getLockWidth().setValue(aspose.diagram.BOOL.TRUE);
 * diagram.save("out-VisioShapeProtection.vdx", aspose.diagram.SaveFileFormat.VDX);
 * @hideconstructor
 */
class Protection {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies whether the width of the shape is locked so that it remains unchanged when the shape is resized.
	 */
	getLockWidth() {
	}

	/**
	 * Specifies whether the height of the shape is locked. If locked, its height remains unchanged when the shape is resized.
	 */
	getLockHeight() {
	}

	/**
	 * Specifies whether the horizontal position of the shape is locked so that it cannot be moved horizontally.
	 */
	getLockMoveX() {
	}

	/**
	 * Specifies whether the vertical position of the shape is locked so that it cannot be moved vertically.
	 */
	getLockMoveY() {
	}

	/**
	 * Specifies whether the aspect ratio of the shape is locked. If locked, the shape can only be sized proportionally; it cannot be sized in a single dimension.
	 */
	getLockAspect() {
	}

	/**
	 * Specifies whether a shape is locked against being deleted.
	 */
	getLockDelete() {
	}

	/**
	 * Specifies whether the begin point of a 1-D shape is locked to a specific location.
	 */
	getLockBegin() {
	}

	/**
	 * Specifies whether the end point of a 1-D shape is locked to a specific location.
	 */
	getLockEnd() {
	}

	/**
	 * Specifies whether the shape is locked against being rotated with the Rotation tool or the Rotate Left or Rotate Right commands in Microsoft Visio.
	 */
	getLockRotate() {
	}

	/**
	 * Specifies whether a foreign object is locked against being cropped with the Crop tool in Microsoft Visio.
	 */
	getLockCrop() {
	}

	/**
	 * Specifies whether the vertices of a shape are locked so that they cannot be edited with any tools on the toolbar.
	 */
	getLockVtxEdit() {
	}

	/**
	 * Specifies whether the text of a shape is locked so that it cannot be edited. However, the text may still be formatted by applying a style, using the Style options on the Font tab of the Text dialog box.
	 */
	getLockTextEdit() {
	}

	/**
	 * Specifies whether the formatting of a shape is locked so it cannot be changed. Specifically, this element protects against changing text, line, and fill formatting, or changing which Style element the shape inherits from.
	 */
	getLockFormat() {
	}

	/**
	 * Specifies whether a group is locked so that it cannot be ungrouped.
	 */
	getLockGroup() {
	}

	/**
	 * Specifies whether a shape's selection rectangle is locked so it cannot be recalculated when a vertex is edited or an element type is changed in the Geom element.
	 */
	getLockCalcWH() {
	}

	/**
	 * Specifies whether a shape's selection rectangle is locked so it cannot be recalculated when a vertex is edited or an element type is changed in the Geom element.
	 */
	getLockSelect() {
	}

	/**
	 * Determines whether the user can add, delete, or modify custom properties in the user interface (UI) by using the Define Custom Properties dialog box.
	 */
	getLockCustProp() {
	}

	/**
	 * Allows a subshape to block formatting changes that get applied to a parent group shape in the Visio user interface and would otherwise cascade down to individual group shapes.
	 */
	getLockFromGroupFormat() {
	}

	/**
	 * Prevents users from applying theme colors to the shape.
	 */
	getLockThemeColors() {
	}

	/**
	 * Prevents users from applying theme effects to the shape.
	 */
	getLockThemeEffects() {
	}

}

/**
 * Represents a RadioButton ActiveX control.
 * @hideconstructor
 */
class RadioButtonActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the group's name.
	 */
	getGroupName() {
	}
	/**
	 * Gets and sets the group's name.
	 */
	setGroupName(value) {
	}

	/**
	 * Gets and set the position of the Caption relative to the control.
	 * The value of the property is ControlCaptionAlignmentType integer constant.
	 */
	getAlignment() {
	}
	/**
	 * Gets and set the position of the Caption relative to the control.
	 * The value of the property is ControlCaptionAlignmentType integer constant.
	 */
	setAlignment(value) {
	}

	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	isWordWrapped() {
	}
	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	setWordWrapped(value) {
	}

	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	getCaption() {
	}
	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	setCaption(value) {
	}

	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	getPicturePosition() {
	}
	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	setPicturePosition(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Gets and sets the data of the picture.
	 */
	getPicture() {
	}
	/**
	 * Gets and sets the data of the picture.
	 */
	setPicture(value) {
	}

	/**
	 * Gets and sets the accelerator key for the control.
	 */
	getAccelerator() {
	}
	/**
	 * Gets and sets the accelerator key for the control.
	 */
	setAccelerator(value) {
	}

	/**
	 * Indicates if the control is checked or not.
	 * The value of the property is CheckValueType integer constant.
	 */
	getValue() {
	}
	/**
	 * Indicates if the control is checked or not.
	 * The value of the property is CheckValueType integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Indicates how the specified control will display Null values.
	 * SettingDescriptionTrueThe control will cycle through states for Yes, No, and Null values. The control appears dimmed (grayed) when its Value property is set to Null.False(Default) The control will cycle through states for Yes and No values. Null values display as if they were No values.
	 */
	isTripleState() {
	}
	/**
	 * Indicates how the specified control will display Null values.
	 * SettingDescriptionTrueThe control will cycle through states for Yes, No, and Null values. The control appears dimmed (grayed) when its Value property is set to Null.False(Default) The control will cycle through states for Yes and No values. Null values display as if they were No values.
	 */
	setTripleState(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Contains elements that define a shape and relationflag.
 */
class RelationShape {
	/**
	 */
	constructor() {
	}

	/**
	 * Gets or sets the shape
	 */
	getShape() {
	}
	/**
	 * Gets or sets the shape
	 */
	setShape(value) {
	}

	/**
	 * Gets or sets flag
	 * The value of the property is RelationFlag integer constant.
	 */
	getFlag() {
	}
	/**
	 * Gets or sets flag
	 * The value of the property is RelationFlag integer constant.
	 */
	setFlag(value) {
	}

}

/**
 * RelationShape collection.
 */
class RelationShapeCollection {
	/**
	 */
	constructor() {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {RelationShape}
	 */
	get(index) {
	}

	/**
	 * Add the relationShape in the collection.
	 * @param {RelationShape} relationShape
	 * @return {Number}
	 */
	add(relationShape) {
	}

	/**
	 * Remove the relationShape from the collection.
	 * @param {RelationShape} relationShape
	 */
	remove(relationShape) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains x- and y-coordinates for a RelCubBezTo's points.
 */
class RelCubBezTo {
	/**
	 * Creates an instance of RelCubBezTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the endpoint in relative coordinates.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the endpoint in relative coordinates.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the endpoint in relative coordinates.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the endpoint in relative coordinates.
	 */
	setY(value) {
	}

	/**
	 * The x-coordinate of the control point at the beginning of the curve in relative coordinates.
	 */
	getA() {
	}
	/**
	 * The x-coordinate of the control point at the beginning of the curve in relative coordinates.
	 */
	setA(value) {
	}

	/**
	 * The y-coordinate of the control point at the beginning of the curve in relative coordinates.
	 */
	getB() {
	}
	/**
	 * The y-coordinate of the control point at the beginning of the curve in relative coordinates.
	 */
	setB(value) {
	}

	/**
	 * The x-coordinate of the control point at the end of the curve in relative coordinates.
	 */
	getC() {
	}
	/**
	 * The x-coordinate of the control point at the end of the curve in relative coordinates.
	 */
	setC(value) {
	}

	/**
	 * The y-coordinate of the control point at the end of the curve in relative coordinates.
	 */
	getD() {
	}
	/**
	 * The y-coordinate of the control point at the end of the curve in relative coordinates.
	 */
	setD(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * RelCubBezTo collection.
 * @hideconstructor
 */
class RelCubBezToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {RelCubBezTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains elements that specify information about an elliptical arc.Coordinates are specified as relative coordinates.
 */
class RelEllipticalArcTo {
	/**
	 * Creates an instance of the EllipticalArcTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the ending vertex of an elliptical arc.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the ending vertex of an elliptical arc.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the ending vertex of an elliptical arc.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the ending vertex of an elliptical arc.
	 */
	setY(value) {
	}

	/**
	 * The x-coordinate of the arc's control point. The control point is best located about halfway between the beginning and ending vertices of the arc. Otherwise, the arc may grow to an extreme size in order to pass through the control point, with unpredictable results.
	 */
	getA() {
	}
	/**
	 * The x-coordinate of the arc's control point. The control point is best located about halfway between the beginning and ending vertices of the arc. Otherwise, the arc may grow to an extreme size in order to pass through the control point, with unpredictable results.
	 */
	setA(value) {
	}

	/**
	 * The y-coordinate of an arc's control point.
	 */
	getB() {
	}
	/**
	 * The y-coordinate of an arc's control point.
	 */
	setB(value) {
	}

	/**
	 * The angle of an arc's major axis relative to the x-axis of its parent.
	 */
	getC() {
	}
	/**
	 * The angle of an arc's major axis relative to the x-axis of its parent.
	 */
	setC(value) {
	}

	/**
	 * The ratio of an arc's major axis to its minor axis. Despite the usual meaning of these words, the major axis does not have to be greater than the minor axis, so this ratio does not have to be greater than 1. Setting this element to a value less than or equal to 0 or greater than 1000 can lead to unpredictable results.
	 */
	getD() {
	}
	/**
	 * The ratio of an arc's major axis to its minor axis. Despite the usual meaning of these words, the major axis does not have to be greater than the minor axis, so this ratio does not have to be greater than 1. Setting this element to a value less than or equal to 0 or greater than 1000 can lead to unpredictable results.
	 */
	setD(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * RelEllipticalArcTo  collection.
 * @hideconstructor
 */
class RelEllipticalArcToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {RelEllipticalArcTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains x- and y-coordinates of the ending vertex of a straight line segment. These coordinates are contained in the X and Y elements, respectively.Coordinates are specified as relative coordinates.
 */
class RelLineTo {
	/**
	 * Creates an instance of the LineTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the ending vertex of a straight line segment.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the ending vertex of a straight line segment.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the ending vertex of a straight line segment.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the ending vertex of a straight line segment.
	 */
	setY(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * RelLineTo collection.
 * @hideconstructor
 */
class RelLineToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {RelLineTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains the x- and y-coordinates of the first vertex of a shape, or contains the x- and y-coordinates of the first vertex after a break in a path.Coordinates are specified as relative coordinates.
 */
class RelMoveTo {
	/**
	 * Creates an instance of the MoveTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * X element represents the x-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the X element represents the x-coordinate of the first vertex after the break in the path
	 */
	getX() {
	}
	/**
	 * X element represents the x-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the X element represents the x-coordinate of the first vertex after the break in the path
	 */
	setX(value) {
	}

	/**
	 * Y element represents the y-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the Y element represents the y-coordinate of the first vertex after the break in the path.
	 */
	getY() {
	}
	/**
	 * Y element represents the y-coordinate of the first vertex of a path. If the MoveTo element appears between two elements, the Y element represents the y-coordinate of the first vertex after the break in the path.
	 */
	setY(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * RelMoveTo collection.
 * @hideconstructor
 */
class RelMoveToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {RelMoveTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains x- and y-coordinates for a RelQuadBezTo's points.
 */
class RelQuadBezTo {
	/**
	 * Creates an instance of RelCubBezTo class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of the endpoint in relative coordinates.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of the endpoint in relative coordinates.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of the endpoint in relative coordinates.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of the endpoint in relative coordinates.
	 */
	setY(value) {
	}

	/**
	 * The x-coordinate of the control point in relative coordinates.
	 */
	getA() {
	}
	/**
	 * The x-coordinate of the control point in relative coordinates.
	 */
	setA(value) {
	}

	/**
	 * The y-coordinate of the control point in relative coordinates.
	 */
	getB() {
	}
	/**
	 * The y-coordinate of the control point in relative coordinates.
	 */
	setB(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * RelQuadBezTo collection.
 * @hideconstructor
 */
class RelQuadBezToCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {RelQuadBezTo}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * This is an abstract base class for classes that allow the user to specify additional options when saving a diagram
 * into a particular format.
 * @hideconstructor
 */
class RenderingSaveOptions {
	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	getPageSize() {
	}
	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	setPageSize(value) {
	}

	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	getShapes() {
	}
	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	setShapes(value) {
	}

	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	getExportGuideShapes() {
	}
	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	setExportGuideShapes(value) {
	}

	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	isExportComments() {
	}
	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	setExportComments(value) {
	}

	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	getEnlargePage() {
	}
	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	setEnlargePage(value) {
	}

	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	getEmfRenderSetting() {
	}
	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	setEmfRenderSetting(value) {
	}

	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Specifies the current resize behavior setting for the shape when contained in a group.
 */
class ResizeMode {
	/**
	 * Constructor.
	 * @param {Number} value - ResizeModeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the current resize behavior setting for the shape when contained in a group.
	 * The value of the property is ResizeModeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the current resize behavior setting for the shape when contained in a group.
	 * The value of the property is ResizeModeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains elements that contain identifying information about a document reviewer.
 */
class Reviewer {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Name element specifies the name of a document reviewer.
	 */
	getName() {
	}

	/**
	 * Contains the initials of a document reviewer.
	 */
	getInitials() {
	}

	/**
	 * Color element specifies an RGB value representing the color assigned to a document reviewer's markup.
	 */
	getColor() {
	}

	/**
	 * Contains the ID number of the reviewer adding markup to the document.
	 */
	getReviewerID() {
	}

	/**
	 * Indicates the value of the MarkerIndex element that will be added when the current reviewer adds another comment to the document.
	 */
	getCurrentIndex() {
	}

}

/**
 * Reviewer collection.
 * @hideconstructor
 */
class ReviewerCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Reviewer}
	 */
	get(index) {
	}

	/**
	 * Add the Reviewer object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Reviewer object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies the type of shadow for a shape.
 */
class RotationType {
	/**
	 * Constructor.
	 * @param {Number} value - RotationTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of bevel.
	 * The value of the property is RotationTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of bevel.
	 * The value of the property is RotationTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the routing style and direction for all dynamic connectors on the drawing page that don't have a local routing style.
 */
class RouteStyle {
	/**
	 * Constructor.
	 * @param {Number} value - RouteStyleValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the routing style and direction for all dynamic connectors on the drawing page that don't have a local routing style.
	 * The value of the property is RouteStyleValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the routing style and direction for all dynamic connectors on the drawing page that don't have a local routing style.
	 * The value of the property is RouteStyleValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Indicates a row in the data recordset.
 */
class Row {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The original row ID.
	 */
	getRowID() {
	}
	/**
	 * The original row ID.
	 */
	setRowID(value) {
	}

	/**
	 * Shape ID of the shape.
	 */
	getShapeID() {
	}
	/**
	 * Shape ID of the shape.
	 */
	setShapeID(value) {
	}

	/**
	 * Page ID of the shape.
	 */
	getPageID() {
	}
	/**
	 * Page ID of the shape.
	 */
	setPageID(value) {
	}

}

/**
 * Row collection.
 * @hideconstructor
 */
class RowCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Row}
	 */
	get(index) {
	}

	/**
	 * Add the row in the collection.
	 * @param {Row} row
	 * @return {Number}
	 */
	add(row) {
	}

	/**
	 * Remove the row from the collection.
	 * @param {Row} row
	 */
	remove(row) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents a single validation rule in a diagram validation rule set.
 */
class Rule {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Specifies the logical expression that determines whether the validation rule should be applied to a target object.
	 */
	getRuleFilter() {
	}
	/**
	 * Specifies the logical expression that determines whether the validation rule should be applied to a target object.
	 */
	setRuleFilter(value) {
	}

	/**
	 * Specifies the logical expression that determines whether the target object satisfies the validation rule
	 */
	getRuleTest() {
	}
	/**
	 * Specifies the logical expression that determines whether the target object satisfies the validation rule
	 */
	setRuleTest(value) {
	}

	/**
	 * Specifies the unique identifier of the validation rule.
	 */
	getID() {
	}
	/**
	 * Specifies the unique identifier of the validation rule.
	 */
	setID(value) {
	}

	/**
	 * Specifies the universal name of the validation rule.
	 */
	getNameU() {
	}
	/**
	 * Specifies the universal name of the validation rule.
	 */
	setNameU(value) {
	}

	/**
	 * Specifies the text displayed in the Category column of the Issues window. Default is an empty string.
	 */
	getCategory() {
	}
	/**
	 * Specifies the text displayed in the Category column of the Issues window. Default is an empty string.
	 */
	setCategory(value) {
	}

	/**
	 * the description of the validation rule that appears in the user interface. Default is "Unknown".
	 */
	getDescription() {
	}
	/**
	 * the description of the validation rule that appears in the user interface. Default is "Unknown".
	 */
	setDescription(value) {
	}

	/**
	 * Specifies the type of object to which the validation rule applies.
	 * The value of the property is VisRuleTargetsValue integer constant.
	 */
	getRuleTarget() {
	}
	/**
	 * Specifies the type of object to which the validation rule applies.
	 * The value of the property is VisRuleTargetsValue integer constant.
	 */
	setRuleTarget(value) {
	}

	/**
	 * Specifies whether the validation rule is currently ignored. Default is False.
	 * The value of the property is BOOL integer constant.
	 */
	getIgnored() {
	}
	/**
	 * Specifies whether the validation rule is currently ignored. Default is False.
	 * The value of the property is BOOL integer constant.
	 */
	setIgnored(value) {
	}

}

/**
 * Rule collection.
 * @hideconstructor
 */
class RuleCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Rule}
	 */
	get(index) {
	}

	/**
	 * Add the rule in the collection.
	 * @param {Rule} rule
	 * @return {Number}
	 */
	add(rule) {
	}

	/**
	 * Remove the rule from the collection.
	 * @param {Rule} rule
	 */
	remove(rule) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies information about the validation rule that the parent validation issue pertains to.
 */
class RuleInfo {
	/**
	 * Constructor.
	 * @param {long} ruleSetID
	 * @param {long} ruleID
	 */
	constructor(ruleSetID, ruleID) {
	}

	/**
	 * Specifies the unique identifier of the validation rule set that the parent issue pertains to.
	 */
	getRuleSetId() {
	}
	/**
	 * Specifies the unique identifier of the validation rule set that the parent issue pertains to.
	 */
	setRuleSetId(value) {
	}

	/**
	 * Specifies the unique identifier of the validation rule that the parent issue pertains to.
	 */
	getRuleId() {
	}
	/**
	 * Specifies the unique identifier of the validation rule that the parent issue pertains to.
	 */
	setRuleId(value) {
	}

}

/**
 * Specifies the horizontal subdivisions on the ruler for the page.
 */
class RulerDensity {
	/**
	 * Constructor.
	 * @param {Number} value - RulerDensityValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the horizontal subdivisions on the ruler for the page.
	 * The value of the property is RulerDensityValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the horizontal subdivisions on the ruler for the page.
	 * The value of the property is RulerDensityValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that specify the settings of the page's rulers and grid.
 * @hideconstructor
 */
class RulerGrid {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the horizontal subdivisions on the ruler for the page.
	 */
	getXRulerDensity() {
	}

	/**
	 * Specifies the vertical subdivisions on the ruler for the page.
	 */
	getYRulerDensity() {
	}

	/**
	 * Specifies the zero point on the x-axis (horizontal) ruler for the page.
	 */
	getXRulerOrigin() {
	}

	/**
	 * Specifies the zero point on the y-axis (vertical) ruler for the page.
	 */
	getXGridDensity() {
	}

	/**
	 * Specifies the type of vertical grid to use for a page.
	 */
	getYGridDensity() {
	}

	/**
	 * Specifies the distance between horizontal lines in a fixed grid (that is, a RulerGrid element where the XGridDensity element is set to 0).
	 */
	getXGridSpacing() {
	}

	/**
	 * Specifies the distance between vertical lines in a fixed grid (that is, a RulerGrid element where the YGridDensity element is set to 0).
	 */
	getYGridSpacing() {
	}

	/**
	 * Specifies the horizontal coordinate of the grid origin for a page.
	 */
	getXGridOrigin() {
	}

	/**
	 * Specifies the vertical origin of the grid on the page.
	 */
	getYGridOrigin() {
	}

	/**
	 * Specifies the zero point on the y-axis (vertical) ruler for the page.
	 */
	getYRulerOrigin() {
	}

}

/**
 * Represents one set of diagram validation rules.
 */
class RuleSet {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Specifies the unique identifier of the validation rule set.
	 */
	getID() {
	}
	/**
	 * Specifies the unique identifier of the validation rule set.
	 */
	setID(value) {
	}

	/**
	 * Specifies the universal name of the validation rule set.
	 */
	getNameU() {
	}
	/**
	 * Specifies the universal name of the validation rule set.
	 */
	setNameU(value) {
	}

	/**
	 * Specifies the local name of the validation rule set. Defaults to NameU attribute value.
	 */
	getName() {
	}
	/**
	 * Specifies the local name of the validation rule set. Defaults to NameU attribute value.
	 */
	setName(value) {
	}

	/**
	 * Specifies the description of the validation rule set that appears in the user interface. Default is an empty string.
	 */
	getDescription() {
	}
	/**
	 * Specifies the description of the validation rule set that appears in the user interface. Default is an empty string.
	 */
	setDescription(value) {
	}

	/**
	 * Specifies whether the rules in the specified validation rule set are checked when validation is triggered for the current document. Default is True.
	 * The value of the property is BOOL integer constant.
	 */
	getEnabled() {
	}
	/**
	 * Specifies whether the rules in the specified validation rule set are checked when validation is triggered for the current document. Default is True.
	 * The value of the property is BOOL integer constant.
	 */
	setEnabled(value) {
	}

	/**
	 * Specifies whether the rule set appears in the Rules to Check list.
	 * The value of the property is BOOL integer constant.
	 */
	getRuleSetFlags() {
	}
	/**
	 * Specifies whether the rule set appears in the Rules to Check list.
	 * The value of the property is BOOL integer constant.
	 */
	setRuleSetFlags(value) {
	}

	/**
	 * Rule collection.
	 */
	getRules() {
	}

}

/**
 * RuleSet collection.
 * @hideconstructor
 */
class RuleSetCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {RuleSet}
	 */
	get(index) {
	}

	/**
	 * Add the ruleSet in the collection.
	 * @param {RuleSet} ruleSet
	 * @return {Number}
	 */
	add(ruleSet) {
	}

	/**
	 * Remove the ruleSet from the collection.
	 * @param {RuleSet} ruleSet
	 */
	remove(ruleSet) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Rule value.
 */
class RuleValue {
	/**
	 * Constructor.
	 * @param {String} formula
	 * @param {String} value
	 */
	constructor(formula, value) {
	}

	/**
	 * Represents the element's formula. This attribute can contain one of the following strings: "someFormula" if the formula exists locally, "No Formula" if the formula is locally deleted or blocked, or "Inh" if the formula is inherited. If the attribute is not present, the element's formula is a simple constant.
	 */
	getFormula() {
	}
	/**
	 * Represents the element's formula. This attribute can contain one of the following strings: "someFormula" if the formula exists locally, "No Formula" if the formula is locally deleted or blocked, or "Inh" if the formula is inherited. If the attribute is not present, the element's formula is a simple constant.
	 */
	setFormula(value) {
	}

	/**
	 * Rule value.
	 */
	getValue() {
	}
	/**
	 * Rule value.
	 */
	setValue(value) {
	}

}

/**
 * This is an abstract base class for classes that allow the user to specify additional options when saving a diagram
 * into a particular format.
 * An instance of the SaveOptions class or any derived class is passed to the stream Save or string Save overloads
 * for the user to define custom options when saving a document.
 * @hideconstructor
 */
class SaveOptions {
	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

	/**
	 * Creates a save options object of a class suitable for the specified save format.
	 * @param {Number} saveFormat - SaveFileFormat
	 * @return {SaveOptions} An object of a class that derives from SaveOptions.
	 */
	static createSaveOptions(saveFormat) {
	}

}

/**
 * Contains a work area for entering and testing formulas that are referred to by other elements. This element is typically used to isolate repeated complex calculations.
 */
class Scratch {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * A general-purpose element.
	 */
	getA() {
	}
	/**
	 * A general-purpose element.
	 */
	setA(value) {
	}

	/**
	 * A general-purpose scratch element.
	 */
	getB() {
	}
	/**
	 * A general-purpose scratch element.
	 */
	setB(value) {
	}

	/**
	 * A general-purpose element.
	 */
	getC() {
	}
	/**
	 * A general-purpose element.
	 */
	setC(value) {
	}

	/**
	 * A general-purpose element.
	 */
	getD() {
	}
	/**
	 * A general-purpose element.
	 */
	setD(value) {
	}

	/**
	 * Specifies an x-coordinate on a shape in local coordinates. The following table describes the X element based on the element that contains it.
	 */
	getX() {
	}
	/**
	 * Specifies an x-coordinate on a shape in local coordinates. The following table describes the X element based on the element that contains it.
	 */
	setX(value) {
	}

	/**
	 * Specifies a y-coordinate on a shape in local coordinates. Local coordinates are those whose frame of reference is the shape, instead of the page.
	 */
	getY() {
	}
	/**
	 * Specifies a y-coordinate on a shape in local coordinates. Local coordinates are those whose frame of reference is the shape, instead of the page.
	 */
	setY(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Scratch collection.
 * @hideconstructor
 */
class ScratchCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Scratch}
	 */
	get(index) {
	}

	/**
	 * Add the Scratch object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Scratch object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents the ScrollBar control.
 * @hideconstructor
 */
class ScrollBarActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the amount by which the Position property changes
	 */
	getLargeChange() {
	}
	/**
	 * Gets and sets the amount by which the Position property changes
	 */
	setLargeChange(value) {
	}

	/**
	 * Gets and sets the minimum acceptable value.
	 */
	getMin() {
	}
	/**
	 * Gets and sets the minimum acceptable value.
	 */
	setMin(value) {
	}

	/**
	 * Gets and sets the maximum acceptable value.
	 */
	getMax() {
	}
	/**
	 * Gets and sets the maximum acceptable value.
	 */
	setMax(value) {
	}

	/**
	 * Gets and sets the value.
	 */
	getPosition() {
	}
	/**
	 * Gets and sets the value.
	 */
	setPosition(value) {
	}

	/**
	 * Gets and sets the amount by which the Position property changes
	 */
	getSmallChange() {
	}
	/**
	 * Gets and sets the amount by which the Position property changes
	 */
	setSmallChange(value) {
	}

	/**
	 * Gets and sets whether the SpinButton or ScrollBar is oriented vertically or horizontally.
	 * The value of the property is ControlScrollOrientation integer constant.
	 */
	getOrientation() {
	}
	/**
	 * Gets and sets whether the SpinButton or ScrollBar is oriented vertically or horizontally.
	 * The value of the property is ControlScrollOrientation integer constant.
	 */
	setOrientation(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Specifies how the user selects a group shape and its members.
 */
class SelectMode {
	/**
	 * Constructor.
	 * @param {Number} value - SelectModeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies how the user selects a group shape and its members.
	 * The value of the property is SelectModeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies how the user selects a group shape and its members.
	 * The value of the property is SelectModeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that define a shape in a Master, Page, or group shape element.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
 * for (it = diagram.getPages().getPage("Page-2").getShapes().iterator(); it.hasNext();) {
 * shape = it.next();
 * // Display information about the shapes
 * console.log("Shape ID : " + shape.getID());
 * console.log("Name : " + shape.getName());
 * console.log("Master Shape : " + shape.getMaster().getName());
 * }
 */
class Shape {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * A flag indicating whether the element is deleted locally. A value of 1 indicates that the element is deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element is deleted locally. A value of 1 indicates that the element is deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * A GUID (globally unique identifier) assigned to the shape.
	 */
	getUniqueID() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The type of a shape. It may be one of the following values: Group, Shape, Guide, or Foreign.
	 * The value of the property is TypeValue integer constant.
	 */
	getType() {
	}
	/**
	 * The type of a shape. It may be one of the following values: Group, Shape, Guide, or Foreign.
	 * The value of the property is TypeValue integer constant.
	 */
	setType(value) {
	}

	/**
	 * StyleSheet from which this shape inherits line formatting
	 */
	getLineStyle() {
	}
	/**
	 * StyleSheet from which this shape inherits line formatting
	 */
	setLineStyle(value) {
	}

	/**
	 * StyleSheet from which this shape inherits fill formatting.
	 */
	getFillStyle() {
	}
	/**
	 * StyleSheet from which this shape inherits fill formatting.
	 */
	setFillStyle(value) {
	}

	/**
	 * StyleSheet from which this shape inherits text formatting.
	 */
	getTextStyle() {
	}
	/**
	 * StyleSheet from which this shape inherits text formatting.
	 */
	setTextStyle(value) {
	}

	/**
	 * Contains a collection of Shape elements.
	 */
	getShapes() {
	}

	/**
	 * Contains the text of a shape.
	 */
	getText() {
	}
	/**
	 * Contains the text of a shape.
	 */
	setText(value) {
	}

	/**
	 * Contains elements specifying general positioning information about a shape.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * // Find a particular shape and update its foreground color and background color
	 * for (it = diagram.getPages().get(0).getShapes().iterator(); it.hasNext();) {
	 * shape = it.next();
	 * if (shape.getNameU().toLowerCase() == "process") {
	 * shape.getXForm().getPinX().setValue(5);
	 * shape.getXForm().getPinY().setValue(5);
	 * }
	 * }
	 * diagram.save("out-SetXFormdata.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getXForm() {
	}
	/**
	 * Contains elements specifying general positioning information about a shape.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * // Find a particular shape and update its foreground color and background color
	 * for (it = diagram.getPages().get(0).getShapes().iterator(); it.hasNext();) {
	 * shape = it.next();
	 * if (shape.getNameU().toLowerCase() == "process") {
	 * shape.getXForm().getPinX().setValue(5);
	 * shape.getXForm().getPinY().setValue(5);
	 * }
	 * }
	 * diagram.save("out-SetXFormdata.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	setXForm(value) {
	}

	/**
	 * Contains elements that control line attributes for a shape, such as pattern, weight, and color. These elements determine whether the line ends are formatted (for example, with an arrowhead), the size of line end formats, radius of the rounding circle applied to the line, and line cap style (round or square).
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * // get a shape by id
	 * shape = diagram.getPages().getPage("Page-2").getShapes().getShape(1);
	 * // set line dash type by index
	 * shape.getLine().getLinePattern().setValue(4);
	 * // set line weight, defualt in PT
	 * shape.getLine().getLineWeight().setValue(2);
	 * // set color of the shape's line
	 * shape.getLine().getLineColor().getUfe().setF("RGB(95,108,53)");
	 * // set line rounding, default in inch
	 * shape.getLine().getRounding().setValue(0.3125);
	 * // set line caps
	 * shape.getLine().getLineCap().setValue(aspose.diagram.BOOL.TRUE);
	 * // set line color transparency in percent
	 * shape.getLine().getLineColorTrans().setValue(50);
	 * // add arrows to the connector or curve shapes
	 * // select arrow type by index
	 * shape.getLine().getBeginArrow().setValue(4);
	 * shape.getLine().getEndArrow().setValue(4);
	 * // set arrow size
	 * shape.getLine().getBeginArrowSize().setValue(aspose.diagram.ArrowSizeValue.SMALL);
	 * shape.getLine().getBeginArrowSize().setValue(aspose.diagram.ArrowSizeValue.SMALL);
	 * diagram.save("out-SetLineData.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getLine() {
	}

	/**
	 * Contains the current fill formatting values for the shape and the shape's drop shadow, including pattern, foreground color, and background color.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * // Find a particular shape and update its foreground color and background color
	 * for (it = diagram.getPages().get(0).getShapes().iterator(); it.hasNext();) {
	 * shape = it.next();
	 * if (shape.getNameU().toLowerCase() == "process") {
	 * shape.getFill().getFillForegnd().setValue("#ebf8df");
	 * shape.getFill().getFillBkgnd().setValue("#dff8eb");
	 * }
	 * }
	 * diagram.save("out-SetFillData.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getFill() {
	}

	/**
	 * Contains the  char values for the shape inherit by the master shape.
	 */
	getInheritChars() {
	}

	/**
	 * Contains the  props for the shape inherit by the master shape.
	 */
	getInheritProps() {
	}

	/**
	 */
	getInheritGroup() {
	}

	/**
	 * Contains the  users for the shape inherit by the master shape.
	 */
	getInheritUsers() {
	}

	/**
	 * Contains the  Geoms values for the shape inherit by the master shape.
	 */
	getInheritGeoms() {
	}

	/**
	 * Contains the paras for the shape inherit by the parent style and the master shape.
	 */
	getInheritParas() {
	}

	/**
	 * Contains the  textblock values for the shape inherit by the parent style and the master shape.
	 */
	getInheritTextBlock() {
	}

	/**
	 * Contains the  line formatting values for the shape inherit by the parent style and the master shape.
	 */
	getInheritLine() {
	}

	/**
	 * Contains the  fill formatting values for the shape inherit by the parent style and the master shape.
	 */
	getInheritFill() {
	}

	/**
	 * Contains x- and y-coordinates of the begin point and end point of a 1-D shape. This element appears for 1-D shapes only.
	 */
	getXForm1D() {
	}
	/**
	 * Contains x- and y-coordinates of the begin point and end point of a 1-D shape. This element appears for 1-D shapes only.
	 */
	setXForm1D(value) {
	}

	/**
	 * Contains elements that specify formulas that control shape events.
	 */
	getEvent() {
	}
	/**
	 * Contains elements that specify formulas that control shape events.
	 */
	setEvent(value) {
	}

	/**
	 * Contains the LayerMember element, which specifies each layer to which the shape is assigned.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Layers.vsdx");
	 * shapes = diagram.getPages().getPage("Page-1").getShapes();
	 * // iterate through the shapes
	 * for (var it = shapes.iterator(); it.hasNext();) {
	 * shape = it.next();
	 * if (shape.getName().toLowerCase() == "shape1") {
	 * // Add shape1 in first two layers. Here "0;1" are indexes of the
	 * // layers
	 * layer = shape.getLayerMem();
	 * layer.getLayerMember().setValue("0;1");
	 * } else if (shape.getName().toLowerCase() == "shape2") {
	 * // Remove shape2 from all the layers
	 * layer = shape.getLayerMem();
	 * layer.getLayerMember().setValue("");
	 * } else if (shape.getName().toLowerCase() == "shape3") {
	 * // Add shape3 in first layer. Here "0" is index of the first
	 * // layer
	 * layer = shape.getLayerMem();
	 * layer.getLayerMember().setValue("0");
	 * }
	 * }
	 * // save diagram
	 * diagram.save("out-ConfigureShapeLayers.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getLayerMem() {
	}

	/**
	 * Contains elements specifying the width and height of an object from another program used in a Microsoft Visio document. Also includes elements specifying the distance the object's image is offset within its borders.
	 */
	getForeign() {
	}

	/**
	 * Contains elements that specify the alignment, margins, and default tab stop positions of text in a shape's text block.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("TextBoxes.vsdx");
	 * // get the page by its name
	 * page1 = diagram.getPages().getPage("Page-1");
	 * // get shape by its ID
	 * shape = page1.getShapes().getShape(1);
	 * // set orientation angle
	 * margin = new aspose.diagram.DoubleValue(4, aspose.diagram.MeasureConst.PT);
	 * // set left, right, top and bottom margins of the shape's text block
	 * shape.getTextBlock().setLeftMargin(margin);
	 * shape.getTextBlock().setRightMargin(margin);
	 * shape.getTextBlock().setTopMargin(margin);
	 * shape.getTextBlock().setBottomMargin(margin);
	 * // set the text direction
	 * shape.getTextBlock().getTextDirection().setValue(aspose.diagram.TextDirectionValue.VERTICAL);
	 * // set the text alignment
	 * shape.getTextBlock().getVerticalAlign().setValue(aspose.diagram.VerticalAlignValue.MIDDLE);
	 * // set the text block background color
	 * shape.getTextBlock().getTextBkgnd().getUfe().setF("RGB(95,108,53)");
	 * // set the background color transparency in percent
	 * shape.getTextBlock().getTextBkgndTrans().setValue(50);
	 * // set the distance between default tab stops for the selected shape.
	 * shape.getTextBlock().getDefaultTabStop().setValue(2);
	 * diagram.save("out-FormatShapeTextBlockSection.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getTextBlock() {
	}

	/**
	 * Contains elements that specify positioning information about a shape's text block.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("TextBoxes.vsdx");
	 * // get shape
	 * shape = diagram.getPages().getPage("Page-1").getShapes().getShape(1);
	 * // set text position at the bottom,
	 * // TxtLocPinY = "TxtHeight*1" and TxtPinY = "Height*0"
	 * shape.getTextXForm().getTxtLocPinY().setValue(shape.getTextXForm().getTxtHeight().getValue());
	 * shape.getTextXForm().getTxtPinY().setValue(0);
	 * // set orientation angle
	 * angleDeg = 0;
	 * angleRad = (Math.PI / 180) * angleDeg;
	 * shape.getTextXForm().getTxtAngle().setValue(angleRad);
	 * diagram.save("out-SetShapeTextPositionAtBottom.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getTextXForm() {
	}

	/**
	 * Indicates the alignment of a shape with respect to the guide or guide point to which the shape is glued. The Align element appears only for shapes that are glued to guides or guide points.
	 */
	getAlign() {
	}

	/**
	 * Locking helps prevent inadvertent changes to the shape but does not prevent Microsoft Visio from resetting values in other circumstances. It also does not protect against changes made in the ShapeSheet window.
	 */
	getProtection() {
	}

	/**
	 * Contains elements specifying the Shape element's Help file topic and copyright information.
	 */
	getHelp() {
	}

	/**
	 * Contains elements specifying the Shape element's Help file topic and copyright information.
	 */
	getMisc() {
	}

	/**
	 * Contains the gamma, brightness, contrast, blur, sharpen, denoise, and transparency values for a bitmap.
	 */
	getImage() {
	}

	/**
	 * Contains elements that control how you add shapes to a group, move members of a group, and select groups.
	 */
	getGroup() {
	}

	/**
	 * Contains elements that control shape placement and connector routing settings.
	 */
	getLayout() {
	}

	/**
	 * Contains a collection of Char elements.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("ApplyFontOnText.vsdx");
	 * sourceShape = null;
	 * // get page by name
	 * page = diagram.getPages().getPage("Page-1");
	 * // get shape by ID
	 * shape = page.getShapes().getShape(1);
	 * // clear shape text values and chars
	 * shape.getText().getValue().clear();
	 * shape.getChars().clear();
	 * // mark character run and add text
	 * shape.getText().getValue().add(new aspose.diagram.Cp(0));
	 * shape.getText().getValue().add(new aspose.diagram.Txt("TextStyle_Regular\n"));
	 * shape.getText().getValue().add(new aspose.diagram.Cp(1));
	 * shape.getText().getValue().add(new aspose.diagram.Txt("TextStyle_Bold_Italic\n"));
	 * shape.getText().getValue().add(new aspose.diagram.Cp(2));
	 * shape.getText().getValue().add(new aspose.diagram.Txt("TextStyle_Underline_Italic\n"));
	 * shape.getText().getValue().add(new aspose.diagram.Cp(3));
	 * shape.getText().getValue().add(new aspose.diagram.Txt("TextStyle_Bold_Italic_Underline"));
	 * // add formatting characters
	 * shape.getChars().add(new aspose.diagram.Char());
	 * shape.getChars().add(new aspose.diagram.Char());
	 * shape.getChars().add(new aspose.diagram.Char());
	 * shape.getChars().add(new aspose.diagram.Char());
	 * // set properties e.g. color, font, size and style etc.
	 * shape.getChars().get(0).setIX(0);
	 * shape.getChars().get(0).getColor().setValue("#FF0000");
	 * shape.getChars().get(0).getFont().setValue(4);
	 * shape.getChars().get(0).getSize().setValue(0.22);
	 * shape.getChars().get(0).getStyle().setValue(aspose.diagram.StyleValue.UNDEFINED);
	 * // set properties e.g. color, font, size and style etc.
	 * shape.getChars().get(1).setIX(1);
	 * shape.getChars().get(1).getColor().setValue("#FF00FF");
	 * shape.getChars().get(1).getFont().setValue(4);
	 * shape.getChars().get(1).getSize().setValue(0.22);
	 * shape.getChars().get(1).getStyle().setValue(aspose.diagram.StyleValue.BOLD |aspose.diagram. StyleValue.ITALIC);
	 * // set properties e.g. color, font, size and style etc.
	 * shape.getChars().get(2).setIX(2);
	 * shape.getChars().get(2).getColor().setValue("#00FF00");
	 * shape.getChars().get(2).getFont().setValue(4);
	 * shape.getChars().get(2).getSize().setValue(0.22);
	 * shape.getChars().get(2).getStyle().setValue(aspose.diagram.StyleValue.UNDERLINE | aspose.diagram.StyleValue.ITALIC);
	 * // set properties e.g. color, font, size and style etc.
	 * shape.getChars().get(3).setIX(3);
	 * shape.getChars().get(3).getColor().setValue("#3333FF");
	 * shape.getChars().get(3).getFont().setValue(4);
	 * shape.getChars().get(3).getSize().setValue(0.22);
	 * shape.getChars().get(3).getStyle().setValue(aspose.diagram.StyleValue.BOLD | aspose.diagram.StyleValue.ITALIC | aspose.diagram.StyleValue.UNDERLINE);
	 * diagram.save("out-ApplyFontOnText.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getChars() {
	}

	/**
	 * Contains a collection of Para elements.
	 */
	getParas() {
	}

	/**
	 * Contains a collection of Scratch elements.
	 */
	getScratchs() {
	}

	/**
	 * Contains a collection of Connection elements.
	 */
	getConnections() {
	}

	/**
	 * Contains a collection of ConnectionABCD elements.
	 */
	getConnectionABCDs() {
	}

	/**
	 * Contains a collection of Field elements.
	 */
	getFields() {
	}

	/**
	 * Contains a collection of Control elements.
	 */
	getControls() {
	}

	/**
	 * Contains a collection of Geom elements.
	 */
	getGeoms() {
	}

	/**
	 * Contains a collection of Act elements.
	 */
	getActs() {
	}

	/**
	 * Contains a collection of User elements.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("TextBoxes.vsdx");
	 * // get page by name
	 * page = diagram.getPages().getPage("Page-1");
	 * // get shape by id
	 * shape = page.getShapes().getShape(2);
	 * // extract user defined cells of the shape
	 * for (it = shape.getUsers().iterator(); it.hasNext();) {
	 * user = it.next();
	 * console.log(user.getName() + ": " + user.getValue().getVal());
	 * }
	 */
	getUsers() {
	}

	/**
	 * Contains a collection of Prop elements.
	 */
	getProps() {
	}
	/**
	 * Contains a collection of Prop elements.
	 */
	setProps(value) {
	}

	/**
	 * Contains a collection of Hyperlink elements.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Hyperlinks.vsdx");
	 * // get page by name
	 * var page = diagram.getPages().getPage("Page-1");
	 * // get shape by ID
	 * var shape = page.getShapes().getShape(1);
	 * // get hyperlink collection
	 * var hyperlinks = shape.getHyperlinks();
	 * // iterate through the hyperlinks
	 * for (var it = hyperlinks.iterator(); it.hasNext();) {
	 * hyperlink = it.next();
	 * console.log("Address: " + hyperlink.getAddress().getValue());
	 * console.log("Sub Address: " + hyperlink.getSubAddress().getValue());
	 * console.log("Description: " + hyperlink.getDescription().getValue());
	 * }
	 */
	getHyperlinks() {
	}

	/**
	 * Contains a collection of SmartTagDef elements.
	 */
	getSmartTagDefs() {
	}

	/**
	 * Contains a collection of Tab elements.
	 */
	getTabsCollection() {
	}

	/**
	 * Contains an arbitrary string value that is used to supply additional information about a shape.
	 */
	getData1() {
	}
	/**
	 * Contains an arbitrary string value that is used to supply additional information about a shape.
	 */
	setData1(value) {
	}

	/**
	 * Contains an arbitrary string value that is used to supply additional information about a shape.
	 */
	getData2() {
	}
	/**
	 * Contains an arbitrary string value that is used to supply additional information about a shape.
	 */
	setData2(value) {
	}

	/**
	 * Contains an arbitrary string value that is used to supply additional information about a shape.
	 */
	getData3() {
	}
	/**
	 * Contains an arbitrary string value that is used to supply additional information about a shape.
	 */
	setData3(value) {
	}

	/**
	 */
	getClippingPath() {
	}
	/**
	 */
	setClippingPath(value) {
	}

	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded BLOB of picture data, such as Windows metafile, bitmap, or OLE data.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * fs = require("fs");
	 * diagram = new aspose.diagram.Diagram("ExtractAllImagesFromPage.vsd");
	 * // Enter page index i.e. 0 for first one
	 * for (var it = diagram.getPages().getPage(0).getShapes().iterator(); it.hasNext();) {
	 * shape = it.next();
	 * // Filter shapes by type Foreign
	 * if (shape.getType() == aspose.diagram.TypeValue.FOREIGN) {
	 * output = fs.writeFileSync("out" + shape.getID() + ".bmp", shape.getForeignData().getValue());
	 * }
	 * }
	 */
	getForeignData() {
	}

	/**
	 * This attribute may only be present in shapes that are members of a group shape, and the group is an instance of a master. The attribute contains an ID that references the corresponding sub-shape in the master.
	 */
	getMasterShape() {
	}
	/**
	 * This attribute may only be present in shapes that are members of a group shape, and the group is an instance of a master. The attribute contains an ID that references the corresponding sub-shape in the master.
	 */
	setMasterShape(value) {
	}

	/**
	 * The Master from which the shape inherits its data.
	 */
	getMaster() {
	}
	/**
	 * The Master from which the shape inherits its data.
	 */
	setMaster(value) {
	}

	/**
	 * Shape's parent.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
	 * // get a sub-shape by page name, group shape ID, and then sub-shape ID
	 * shape = diagram.getPages().getPage("Page-3").getShapes().getShape(13).getShapes().getShape(2);
	 * parentShape = shape.getParentShape();
	 * console.log("Parent Shape's Properties:");
	 * console.log("Shape ID: " + parentShape.getID());
	 * console.log("Shape Name: " + parentShape.getName());
	 * console.log("Shape Type: " + parentShape.getType());
	 */
	getParentShape() {
	}
	/**
	 * Shape's parent.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
	 * // get a sub-shape by page name, group shape ID, and then sub-shape ID
	 * shape = diagram.getPages().getPage("Page-3").getShapes().getShape(13).getShapes().getShape(2);
	 * parentShape = shape.getParentShape();
	 * console.log("Parent Shape's Properties:");
	 * console.log("Shape ID: " + parentShape.getID());
	 * console.log("Shape Name: " + parentShape.getName());
	 * console.log("Shape Type: " + parentShape.getType());
	 */
	setParentShape(value) {
	}

	/**
	 * Returns the top-level shape of an instance if this shape is part of a master instance. Read-only.
	 */
	getRootShape() {
	}

	/**
	 * Root element of Visio objects hierarchy.
	 */
	getDiagram() {
	}
	/**
	 * Root element of Visio objects hierarchy.
	 */
	setDiagram(value) {
	}

	/**
	 * Root element of Visio objects hierarchy.
	 */
	getPage() {
	}
	/**
	 * Root element of Visio objects hierarchy.
	 */
	setPage(value) {
	}

	/**
	 * Determines whether the shape behaves as a one-dimensional (1-D) object. Read-only.
	 */
	getOneD() {
	}

	/**
	 * Determines whether the shape behaves as a two-dimensional (2-D) object.
	 */
	getTwoD() {
	}
	/**
	 * Determines whether the shape behaves as a two-dimensional (2-D) object.
	 */
	setTwoD(value) {
	}

	/**
	 * Indicate the shape has text and the text is empty or not.
	 */
	isTextEmpty() {
	}

	/**
	 * Gets the data of control.
	 */
	getControlData() {
	}

	/**
	 * Gets the ActiveX control.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("VisioActiveXControls.vsdx");
	 * // get a Visio page by name
	 * page = diagram.getPages().getPage("Page-1");
	 * // get a shape by ID
	 * shape = page.getShapes().getShape(1);
	 * // get an ActiveX control
	 * activex = shape.getActiveXControl();
	 * // set width of the command button control
	 * activex.setWidth(4);
	 * // set height of the command button control
	 * activex.setHeight(4);
	 * // set caption of the command button control
	 * activex.setCaption("Test Button");
	 * diagram.save("out-RetrieveActiveXControl.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	getActiveXControl() {
	}

	/**
	 * Returns the index of a shape in the z-order except the guide shape.
	 */
	getZOrderIndex() {
	}

	/**
	 * Apply a preset theme to this shape
	 * The value of the property is PresetThemeValue integer constant.
	 */
	setPresetTheme(value) {
	}

	/**
	 * Apply a preset theme variant to this shape
	 * The value of the property is PresetThemeVariantValue integer constant.
	 */
	setPresetThemeVariant(value) {
	}

	/**
	 * Apply a preset theme variant quickstyle to this shape
	 * The value of the property is PresetQuickStyleValue integer constant.
	 */
	setPresetThemeQuickStyle(value) {
	}

	/**
	 * Gets the ThreeDFormat.
	 */
	getThreeDFormat() {
	}

	/**
	 */
	copy(source) {
	}

	/**
	 * Brings the shape forward one position in the z-order.
	 */
	bringForward() {
	}

	/**
	 * Moves the shape back one position in the z-order.
	 */
	sendBackward() {
	}

	/**
	 * Brings the shape to the front of the z-order.
	 */
	bringToFront() {
	}

	/**
	 * Moves the shape to the back of the z-order.
	 */
	sendToBack() {
	}

	/**
	 * Returns a connectorRule that contains the shape id and connecton that are connected to the shape.
	 * @return {ConnectorRule} ConnectorRule.
	 */
	getConnectorRule() {
	}

	/**
	 * Returns an array that contains the identifiers (IDs) of the shapes that are connected to the shape.
	 * @param {Number} flag - ConnectedShapesFlags
	 * @param {String} categoryFilter - Filters the array of returned shape IDs by limiting it to the IDs of shapes that match the specified category
	 * @return {long[]} IDs arraylong.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
	 * // get shape by id
	 * shape = diagram.getPages().getPage("Page-3").getShapes().getShape(16);
	 * // get connected shapes
	 * connectedShapeIds = shape.connectedShapes(aspose.diagram.ConnectedShapesFlags.CONNECTED_SHAPES_ALL_NODES, null);
	 * for (let i = 0; i < connectedShapeIds.length; i++) {
	 * shape = diagram.getPages().getPage("Page-3").getShapes().getShape(connectedShapeIds[i]);
	 * console.log("ID: " + shape.getID() + "\t\t Name: " + shape.getName());
	 * }
	 */
	connectedShapes(flag, categoryFilter) {
	}

	/**
	 * Indicates whether this shape is in a group shape.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
	 * // get a sub-shape by page name, group shape ID, and then sub-shape ID
	 * shape = diagram.getPages().getPage("Page-3").getShapes().getShape(13).getShapes().getShape(2);
	 * console.log("Is it in a Group: " + shape.isInGroup());
	 */
	isInGroup() {
	}

	/**
	 * Indicates whether this shape is contain another shape.
	 */
	isContain(shape) {
	}

	/**
	 * Indicates whether this shape is  intersect another shape.
	 */
	isIntersect(shape) {
	}

	/**
	 * Indicates whether this two shapes are connected.
	 * @param {Shape} shape - shape
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * // get Visio page by name
	 * page = diagram.getPages().getPage("Page-2");
	 * // get Visio shapes by ids
	 * ShapedOne = page.getShapes().getShape(1);
	 * ShapedTwo = page.getShapes().getShape(2);
	 * // determine whether shapes are connected
	 * connected = ShapedOne.isConnected(ShapedTwo);
	 * console.log("Shapes are connected: " + connected);
	 * // determine whether shapes are glued
	 * glued = ShapedOne.isGlued(ShapedTwo);
	 * console.log("Shapes are Glued: " + glued);
	 */
	isConnected(shape) {
	}

	/**
	 * Center the shape with respect to the extent of the page
	 */
	centerDrawing() {
	}

	/**
	 * Indicates whether this two shapes are glued.
	 * @param {Shape} shape - shape
	 */
	isGlued(shape) {
	}

	/**
	 * Refreshes shape's position including xform ,connection and geom when changing shape's text or other's .
	 * We will gather shape's data such as shape's text then calculate shape's position.
	 * This method is only used to refresh shape's data .
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
	 * // get page by name
	 * page = diagram.getPages().getPage("Page-2");
	 * // Add master with stencil file path and master id
	 * masterName = "Rectangle";
	 * // Add master with stencil file path and master name
	 * diagram.addMaster("BasicShapes.vss", masterName);
	 * // page indexing starts from 0
	 * PageIndex = 1;
	 * width = 2, height = 2, pinX = 4.25, pinY = 4.5;
	 * // Add a new rectangle shape
	 * rectangleId = diagram.addShape(pinX, pinY, width, height, masterName, PageIndex);
	 * // set shape properties
	 * rectangle = page.getShapes().getShape(rectangleId);
	 * rectangle.getXForm().getPinX().setValue(5);
	 * rectangle.getXForm().getPinY().setValue(5);
	 * rectangle.setType(aspose.diagram.TypeValue.SHAPE);
	 * rectangle.getText().getValue().add(new aspose.diagram.Txt("Aspose Diagram"));
	 * rectangle.setTextStyle(diagram.getStyleSheets().get(3));
	 * rectangle.getLine().getLineColor().setValue("#ff0000");
	 * rectangle.getLine().getLineWeight().setValue(0.03);
	 * rectangle.getLine().getRounding().setValue(0.1);
	 * rectangle.getFill().getFillBkgnd().setValue("#ff00ff");
	 * rectangle.getFill().getFillForegnd().setValue("#ebf8df");
	 * rectangle.refreshData();
	 * diagram.save("out-AddShape.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	refreshData() {
	}

	/**
	 * Returns an array that contains the identifiers of the shapes that are glued to a shape.
	 * @param {Number} flag - GluedShapesFlags
	 * @param {String} categoryFilter - Filters the array of returned shape IDs by limiting it to the IDs of shapes that match the specified category
	 * @param {Shape} otherShape - Optional: additional shape to which returned shapes must also be glued, can be
	 * @return {long[]} IDs arraylong.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * // get shape by an ID
	 * shape = diagram.getPages().getPage("Page-2").getShapes().getShape(1);
	 * // get all glued 1D shapes
	 * gluedShapeIds = shape.gluedShapes(aspose.diagram.GluedShapesFlags.GLUED_SHAPES_ALL_1_D, null, null);
	 * // display shape ID and name
	 * for (let i = 0; i < gluedShapeIds.length; i++) {
	 * shape = diagram.getPages().get(0).getShapes().getShape(gluedShapeIds[i]);
	 * console.log("ID: " + shape.getID() + "\t\t Name: " + shape.getName());
	 * }
	 */
	gluedShapes(flag, categoryFilter, otherShape) {
	}

	/**
	 * Returns an array that contains the identifiers of the shapes that are depends on a shape.
	 * @return {long[]} IDs arraylong.
	 */
	dependsOnShapes() {
	}

	/**
	 * Sets new width of shape.
	 * @param {Number} width - New width
	 */
	setWidth(width) {
	}

	/**
	 * Sets new height of shape.
	 * @param {Number} height - New height
	 */
	setHeight(height) {
	}

	/**
	 * Sets new angle of shape.
	 * The angle's unit is radian.
	 * @param {Number} angle - New angle which unit is radian not degree
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * shape = diagram.getPages().getPage("Page-2").getShapes().getShape(2);
	 * // Add a shape and set the angle
	 * shape.setAngle(190);
	 * diagram.save("out-RotateVisioShape.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	setAngle(angle) {
	}

	/**
	 * Moves shape on new absolute position on the page.
	 * @param {Number} newPinX - New x-coordinate of the shape's pin (center of rotation) in relation to the origin of its parent.
	 * @param {Number} newPinY - New y-coordinate of the shape's pin (center of rotation) in relation to the origin of its parent.
	 */
	moveTo(newPinX, newPinY) {
	}

	/**
	 * Moves shape on the dX and dY inches from current position.
	 * @param {Number} dX - X offset
	 * @param {Number} dY - Y offset
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("GroupShapes.vsdx");
	 * // get page by name
	 * page = diagram.getPages().getPage("Page-3");
	 * // get shape by id
	 * shape = page.getShapes().getShape(16);
	 * // move shape from its position, it adds values in coordinates
	 * shape.move(1, 1);
	 * diagram.save("out-MoveVisioShape.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	move(dX, dY) {
	}

	/**
	 * Get the text displayed on the interface
	 */
	getDisplayText() {
	}

	/**
	 * Get the text string
	 */
	getPureText() {
	}

	/**
	 * Ungroup Shape
	 */
	ungroup() {
	}

	/**
	 * Replace the text string of a shape .
	 */
	replaceText(text, replaceText) {
	}

	/**
	 * Saves the shape to a pdf file.
	 * @param {String} fileName - the pdf file name with full path
	 */
	toPdf(fileName) {
	}

	/**
	 * Creates the shape image and saves it to a file.
	 * The extension of the file name determines the format of the image.
	 * The format of the image is specified by using the extension of the file name.
	 * For example, if you specify "myfile.png", then the image will be saved
	 * in the PNG format. The following file extensions are recognized:
	 * .bmp, .gif, .png, .jpg, .jpeg, .tiff, .tif, .emf.
	 * @param {String} imageFile - The image file name with full path.
	 * @param {ImageSaveOptions} options - Additional image creation options
	 */
	toImage(imageFile, options) {
	}

	/**
	 * Creates the shape image and saves it to a stream in the specified format.
	 * @param {OutputStream} stream - The output stream.
	 * @param {ImageSaveOptions} options - Additional image creation options
	 */
	toImage(stream, options) {
	}

	/**
	 * Saves the shape to a svg file.
	 * @param {} fileName - the svg file name with full path
	 */
	toSvg(imageFile, options) {
	}

	/**
	 * Creates the html and saves it to a file.
	 * @param {} imageFile - The file name with full path.
	 * @param {HTMLSaveOptions} options - html save options
	 */
	toHTML(fileName, options) {
	}

	/**
	 * Creates the shape html and saves it to a stream in the specified format.
	 * @param {OutputStream} stream - The output stream.
	 * @param {HTMLSaveOptions} options - Addtional html creation options
	 */
	toHTML(stream, options) {
	}

	/**
	 * Converts a selection or an object from another application (a linked or embedded object) to a group.
	 */
	convertToGroup() {
	}

	/**
	 * Get Connectors type
	 */
	getConnectorsType() {
	}

	/**
	 * Set Connectors type
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("RetrieveShapeInfo.vsd");
	 * // get a dynamic connector type shape by id
	 * shape = diagram.getPages().getPage("Page-2").getShapes().getShape(3);
	 * // set dynamic connector appearance
	 * shape.setConnectorsType(aspose.diagram.ConnectorsTypeValue.STRAIGHT_LINES);
	 * diagram.save("out-SetConnectorAppearance.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	setConnectorsType(type) {
	}

	/**
	 * Returns RelationFlag that represents the relationship of one shape to another shape.
	 */
	getRelationFlag(shape) {
	}

	/**
	 * Returns RelationShapeCollection that represents the relationshapes of one shape.
	 */
	getRelationShapeCollection() {
	}

	/**
	 * pply a preset theme variant quickstyle to this shape, like theme styles options in shape styles dropdown list
	 * @param {Number} styleIndex - PresetStyleMatricsValue
	 * @param {Number} colorIndex - PresetColorMatricsValue
	 */
	setPresetThemeStyleMatrics(styleIndex, colorIndex) {
	}

	/**
	 * Creates the shape pdf and saves it to a stream.
	 * @param {Shape} shape - The shape object to save
	 * @param {WritableStream} stream - The stream
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var diagram = new aspose.diagram.Diagram("example.vsdx");
	 * var page = diagram.getPages().getPage("Page-1");
	 * var shape = page.getShapes().getShape(1);
	 * var writeStream = fs.createWriteStream("output.pdf");
	 * aspose.diagram.Shape.toPdfStream(shape, writeStream);
	 */
	static toPdfStream(shape, stream) {
	}

	/**
	 * Creates the shape image and saves it to a stream in the specified format.
	 * @param {Shape} shape - The shape object to save
	 * @param {WritableStream} stream - The stream
	 * @param {ImageSaveOptions} options - ImageSaveOptions
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var fs = require("fs");
	 * var diagram = new aspose.diagram.Diagram("example.vsdx");
	 * var page = diagram.getPages().getPage("Page-1");
	 * var shape = page.getShapes().getShape(1);
	 * var writeStream = fs.createWriteStream("output.png");
	 * var options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.PNG);
	 * aspose.diagram.Shape.toImageStream(shape, writeStream, options);
	 */
	static toImageStream(shape, stream, options) {
	}

}

/**
 * Collection of Shapes.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
 * // get page by name
 * page = diagram.getPages().getPage("Page-3");
 * for (it = page.getShapes().iterator(); it.hasNext();) {
 * shape = it.next();
 * if (shape.getName() == "Process1") {
 * for (prop_it = shape.getProps().iterator(); prop_it.hasNext();) {
 * prop = prop_it.next();
 * console.log(prop.getLabel().getValue() + ": " + prop.getValue().getVal());
 * }
 * break;
 * }
 * }
 * @hideconstructor
 */
class ShapeCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Shape}
	 */
	get(index) {
	}

	/**
	 * Add the shape in the collection.
	 * @param {Shape} item
	 * @return {Number} ID
	 */
	add(item) {
	}

	/**
	 * Remove the shape from the collection.
	 * @param {Shape} item - Shape
	 */
	remove(item) {
	}

	/**
	 * Remove the shapes including DEPENDSON shapes from the collection.
	 * @param {Shape} item - Shape
	 */
	removeDependsOn(item) {
	}

	/**
	 * UnGroup the shape.
	 * @param {Shape} groupShape - the group shape.
	 */
	unGroup(groupShape) {
	}

	/**
	 * Group the shapes.
	 * The shape in the groupItems should not be grouped.
	 * The shape must be in this Shapes collection.
	 * @param {Shape[]} groupItems - the group items.
	 * @return {Shape} Return the group shape.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * var java = require("java");
	 * diagram = new aspose.diagram.Diagram("GroupShapes.vsdx");
	 * // get page by name
	 * page = diagram.getPages().getPage("Page-3");
	 * ss = new Array(3);
	 * // extract and assign shapes to the array
	 * ss[0] = page.getShapes().getShape(15);
	 * ss[1] = page.getShapes().getShape(16);
	 * ss[2] = page.getShapes().getShape(17);
	 * // Initialize an array of shapes
	 * jss = java.newArray('com.aspose.diagram.Shape', ss);
	 * // mark array shapes as group
	 * page.getShapes().group(jss);
	 * diagram.save("out-GroupShapes.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	group(groupItems) {
	}

	/**
	 * Gets the element at the specified name.
	 * @param {String} name
	 * @return {Shape}
	 */
	getShape(name) {
	}

	/**
	 * Gets the element including it's child shape at the specified name.
	 * @param {String} name
	 * @return {Shape}
	 */
	getShapeIncludingChild(name) {
	}

	/**
	 * Gets the element including it's child shape at the specified id.
	 * @param {} name
	 * @return {Shape}
	 */
	getShapeIncludingChild(id) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {long} ID
	 * @return {Shape}
	 */
	getShape(ID) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies placement behavior for a placeable shape.
 */
class ShapeFixedCode {
	/**
	 * Constructor.
	 */
	constructor(value) {
	}

	/**
	 * Specifies placement behavior for a placeable shape.
	 * The value of the property is ShapeFixedCodeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies placement behavior for a placeable shape.
	 * The value of the property is ShapeFixedCodeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies how a placeable shape flips and/or rotates on the page when a user selects Lay Out Shapes (Shapes menu).
 */
class ShapePlaceFlip {
	/**
	 * Constructor.
	 * @param {Number} value - ShapePlaceFlipValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies how a placeable shape flips and/or rotates on the page when a user selects Lay Out Shapes (Shapes menu).
	 * The value of the property is ShapePlaceFlipValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies how a placeable shape flips and/or rotates on the page when a user selects Lay Out Shapes (Shapes menu).
	 * The value of the property is ShapePlaceFlipValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Determines the placement style for children.
 */
class ShapePlaceStyle {
	/**
	 * Constructor.
	 * @param {Number} value - ShapePlaceStyleValue
	 */
	constructor(value) {
	}

	/**
	 * Determines the appearance of a connector.
	 * The value of the property is ShapePlaceStyleValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Determines the appearance of a connector.
	 * The value of the property is ShapePlaceStyleValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies whether a placeable shape moves away when you drag another placeable shape near the shape on the drawing page.
 */
class ShapePlowCode {
	/**
	 * Constructor.
	 * @param {Number} value - ShapePlowCodeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies whether a placeable shape moves away when you drag another placeable shape near the shape on the drawing page.
	 * The value of the property is ShapePlowCodeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies whether a placeable shape moves away when you drag another placeable shape near the shape on the drawing page.
	 * The value of the property is ShapePlowCodeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the routing style and direction for a connector on the drawing page.
 */
class ShapeRouteStyle {
	/**
	 * Constructor.
	 * @param {Number} value - ShapeRouteStyleValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the routing style and direction for a connector on the drawing page.
	 * The value of the property is ShapeRouteStyleValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the routing style and direction for a connector on the drawing page.
	 * The value of the property is ShapeRouteStyleValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the type of shadow for a shape.
 */
class ShapeShdwShow {
	/**
	 * Constructor.
	 * @param {Number} value - ShapeShdwShowValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of shadow for a shape.
	 * The value of the property is ShapeShdwShowValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of shadow for a shape.
	 * The value of the property is ShapeShdwShowValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the type of shadow for a shape.
 */
class ShapeShdwType {
	/**
	 * Constructor.
	 * @param {Number} value - ShapeShdwTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the type of shadow for a shape.
	 * The value of the property is ShapeShdwTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the type of shadow for a shape.
	 * The value of the property is ShapeShdwTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Indicates the default shadow type for a page.
 */
class ShdwType {
	/**
	 * Constructor.
	 * @param {Number} value - ShdwTypeValue
	 */
	constructor(value) {
	}

	/**
	 * Indicates the default shadow type for a page.
	 * The value of the property is ShdwTypeValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Indicates the default shadow type for a page.
	 * The value of the property is ShdwTypeValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Contains elements that contain information for each smart tag defined for a shape or page.
 */
class SmartTagDef {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate position in the shape's local coordinates around which the smart tag button is placed.
	 */
	getX() {
	}

	/**
	 * The y-coordinate position in the shape's local coordinates around which the smart tag button is placed.
	 */
	getY() {
	}

	/**
	 * It contains the name of the smart tag that is used as a key to associate the smart tag with its actions.
	 */
	getTagName() {
	}

	/**
	 * The x-offset of the smart tag button relative to the point defined by the X and Y elements.
	 */
	getXJustify() {
	}

	/**
	 * Specifies the y-offset of the smart tag button relative to the point defined by the X and Y elements.
	 */
	getYJustify() {
	}

	/**
	 * DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
	 */
	getDisplayMode() {
	}

	/**
	 * It contains the ID of the button face image that appears on the smart tag button.
	 */
	getButtonFace() {
	}

	/**
	 * Disabled element determines whether the smart tag appears in the drawing window.
	 */
	getDisabled() {
	}

	/**
	 * Description element contains a string that describes the smart tag, which appears as a tool tip when the user pauses the mouse over the tag.
	 */
	getDescription() {
	}

}

/**
 * SmartTagDef collection.
 * @hideconstructor
 */
class SmartTagDefCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {SmartTagDef}
	 */
	get(index) {
	}

	/**
	 * Add the SmartTagDef object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the SmartTagDef object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("SolutionXML.vsdx");
 * // initialize SolutionXML object
 * solXML = new aspose.diagram.SolutionXML();
 * // set name
 * solXML.setName("Solution XML");
 * // set xml value
 * solXML.setXmlValue("XML Value");
 * // add SolutionXML element
 * diagram.getSolutionXMLs().add(solXML);
 * diagram.save("out-AddSolutionXMLElement.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class SolutionXML {
	/**
	 * Constructor.
	 * @param {String} name
	 * @param {String} xmlValue
	 */
	constructor(name, xmlValue) {
	}
	/**
	 * Constructor.
	 */
	constructor_overload$1() {
	}

	/**
	 * A unique name to identify the XML data set.
	 */
	getName() {
	}
	/**
	 * A unique name to identify the XML data set.
	 */
	setName(value) {
	}

	/**
	 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
	 */
	getXmlValue() {
	}
	/**
	 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
	 */
	setXmlValue(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * SolutionXML collection.
 * @hideconstructor
 */
class SolutionXMLCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {SolutionXML}
	 */
	get(index) {
	}

	/**
	 * Gets the element at the specified attribute Name. Returns null if an element is not exist.
	 * @param {String} name
	 * @return {SolutionXML}
	 */
	get(name) {
	}

	/**
	 * Add the SolutionXML in the collection.
	 * @param {SolutionXML} solutionXml
	 * @return {Number}
	 */
	add(solutionXml) {
	}

	/**
	 * Remove the SolutionXML from the collection.
	 * @param {SolutionXML} solutionXml
	 */
	remove(solutionXml) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Represents the SpinButton control.
 * @hideconstructor
 */
class SpinButtonActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the minimum acceptable value.
	 */
	getMin() {
	}
	/**
	 * Gets and sets the minimum acceptable value.
	 */
	setMin(value) {
	}

	/**
	 * Gets and sets the maximum acceptable value.
	 */
	getMax() {
	}
	/**
	 * Gets and sets the maximum acceptable value.
	 */
	setMax(value) {
	}

	/**
	 * Gets and sets the value.
	 */
	getPosition() {
	}
	/**
	 * Gets and sets the value.
	 */
	setPosition(value) {
	}

	/**
	 * Gets and sets the amount by which the Position property changes
	 */
	getSmallChange() {
	}
	/**
	 * Gets and sets the amount by which the Position property changes
	 */
	setSmallChange(value) {
	}

	/**
	 * Gets and sets whether the SpinButton or ScrollBar is oriented vertically or horizontally.
	 * The value of the property is ControlScrollOrientation integer constant.
	 */
	getOrientation() {
	}
	/**
	 * Gets and sets whether the SpinButton or ScrollBar is oriented vertically or horizontally.
	 * The value of the property is ControlScrollOrientation integer constant.
	 */
	setOrientation(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Contains x- and y-coordinates for a spline's control point and a spline's knot, represented by the X, Y, and A elements, respectively.
 */
class SplineKnot {
	/**
	 * Creates an instance of the SplineKnot class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of a control point.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of a control point.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of a control point.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of a control point.
	 */
	setY(value) {
	}

	/**
	 * One of the spline's knots (other than the last one or the first two).
	 */
	getA() {
	}
	/**
	 * One of the spline's knots (other than the last one or the first two).
	 */
	setA(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * SplineKnot collection.
 * @hideconstructor
 */
class SplineKnotCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {SplineKnot}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains x- and y-coordinates for a spline's second control point, its second knot, its first knot, the last knot, and the degree of the spline. This information is contained in the X, Y, A, B, C, and D elements, respectively.
 */
class SplineStart {
	/**
	 * Creates an instance of SplineStart class.
	 */
	constructor() {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The x-coordinate of a spline's second control point.
	 */
	getX() {
	}
	/**
	 * The x-coordinate of a spline's second control point.
	 */
	setX(value) {
	}

	/**
	 * The y-coordinate of a spline's second control point.
	 */
	getY() {
	}
	/**
	 * The y-coordinate of a spline's second control point.
	 */
	setY(value) {
	}

	/**
	 * The second knot of the spline.
	 */
	getA() {
	}
	/**
	 * The second knot of the spline.
	 */
	setA(value) {
	}

	/**
	 * The first knot of a spline.
	 */
	getB() {
	}
	/**
	 * The first knot of a spline.
	 */
	setB(value) {
	}

	/**
	 * The last knot of the spline.
	 */
	getC() {
	}
	/**
	 * The last knot of the spline.
	 */
	setC(value) {
	}

	/**
	 * The degree of the spline (an integer from 1 to 25).
	 */
	getD() {
	}
	/**
	 * The degree of the spline (an integer from 1 to 25).
	 */
	setD(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * SplineStart collection.
 * @hideconstructor
 */
class SplineStartCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {SplineStart}
	 */
	get(index) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * String value.
 */
class Str2Value {
	/**
	 * Constructor.
	 * @param {String} value
	 */
	constructor(value) {
	}
	/**
	 * Constructor.
	 * @param {String} value
	 * @param {UnitFormulaErrV} ufev
	 */
	constructor_overload$1(value, ufev) {
	}

	/**
	 * Attributes of an element.
	 */
	getUfev() {
	}
	/**
	 * Attributes of an element.
	 */
	setUfev(value) {
	}

	/**
	 * String value.
	 */
	getValue() {
	}
	/**
	 * String value.
	 */
	setValue(value) {
	}

	/**
	 * Attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * String value
 */
class StrValue {
	/**
	 * Constructor.
	 * @param {String} value
	 */
	constructor(value) {
	}
	/**
	 * Constructor.
	 * @param {String} value
	 * @param {UnitFormulaErr} ufe
	 */
	constructor_overload$1(value, ufe) {
	}
	/**
	 * Constructor.
	 * @param {String} value
	 * @param {} ufe
	 */
	constructor_overload$2(value, unit) {
	}

	/**
	 * String value.
	 */
	getValue() {
	}
	/**
	 * String value.
	 */
	setValue(value) {
	}

	/**
	 * Attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specifies the character formatting applied to a range of text in the shape's text block.
 */
class Style {
	/**
	 * Constructor.
	 * @param {Number} value - StyleValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the character formatting applied to a range of text in the shape's text block.
	 * The value of the property is StyleValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the character formatting applied to a range of text in the shape's text block.
	 * The value of the property is StyleValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains elements that control style behavior, such as whether a style includes text, line, and fill attributes.
 * @hideconstructor
 */
class StyleProp {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies whether a style includes line properties
	 */
	getEnableLineProps() {
	}

	/**
	 * Specifies whether a style includes fill properties.
	 */
	getEnableFillProps() {
	}

	/**
	 * Specifies whether a style includes text properties.
	 */
	getEnableTextProps() {
	}

	/**
	 * Specifies where a style is shown in the Microsoft Visio user interface.
	 */
	getHideForApply() {
	}

}

/**
 * Represents a style defined in a document.
 */
class StyleSheet {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * StyleSheet element from which this style inherits line formatting.
	 */
	getLineStyle() {
	}
	/**
	 * StyleSheet element from which this style inherits line formatting.
	 */
	setLineStyle(value) {
	}

	/**
	 * StyleSheet element from which this style inherits fill formatting.
	 */
	getFillStyle() {
	}
	/**
	 * StyleSheet element from which this style inherits fill formatting.
	 */
	setFillStyle(value) {
	}

	/**
	 * StyleSheet element from which this style inherits text formatting.
	 */
	getTextStyle() {
	}
	/**
	 * StyleSheet element from which this style inherits text formatting.
	 */
	setTextStyle(value) {
	}

	/**
	 * Contains elements that control line attributes for a shape, such as pattern, weight, and color. These elements determine whether the line ends are formatted (for example, with an arrowhead), the size of line end formats, radius of the rounding circle applied to the line, and line cap style (round or square).
	 */
	getLine() {
	}

	/**
	 * Contains the current fill formatting values for the shape and the shape's drop shadow, including pattern, foreground color, and background color.
	 */
	getFill() {
	}

	/**
	 * Contains elements that specify formulas that control shape events.
	 */
	getEvent() {
	}

	/**
	 * Contains elements that control style behavior, such as whether a style includes text, line, and fill attributes.
	 */
	getStyleProp() {
	}

	/**
	 * Contains elements that specify the alignment, margins, and default tab stop positions of text in a shape's text block.
	 */
	getTextBlock() {
	}

	/**
	 * Locking helps prevent inadvertent changes to the shape but does not prevent Microsoft Visio from resetting values in other circumstances. It also does not protect against changes made in the ShapeSheet window.
	 */
	getProtection() {
	}

	/**
	 * Contains elements specifying the Shape element's Help file topic and copyright information.
	 */
	getHelp() {
	}

	/**
	 * Contains elements specifying the Shape element's Help file topic and copyright information.
	 */
	getMisc() {
	}

	/**
	 * Contains elements that specify the settings of the page's rulers and grid.
	 */
	getRulerGrid() {
	}

	/**
	 * Contains the gamma, brightness, contrast, blur, sharpen, denoise, and transparency values for a bitmap.
	 */
	getImage() {
	}

	/**
	 * Contains elements that control how you add shapes to a group, move members of a group, and select groups.
	 */
	getGroup() {
	}

	/**
	 * Contains elements that control shape placement and connector routing settings.
	 */
	getLayout() {
	}

	/**
	 * Contains Diagram that control the page layout settings for shapes and connectors, such as spacing between all shapes on the page, spacing between all connectors on the page, and routing style for all connectors on the page.
	 */
	getPageLayout() {
	}

	/**
	 * Contains a collection of Char elements.
	 */
	getChars() {
	}

	/**
	 * Contains a collection of Para elements.
	 */
	getParas() {
	}

	/**
	 * Contains a collection of Tab elements.
	 */
	getTabsCollection() {
	}

	/**
	 * Contains a collection of Connection elements.
	 */
	getConnections() {
	}

	/**
	 * Contains a collection of ConnectionABCD elements.
	 */
	getConnectionABCDs() {
	}

	/**
	 * Contains elements specifying the width and height of an object from another program used in a Microsoft Visio document. Also includes elements specifying the distance the object's image is offset within its borders.
	 */
	getForeign() {
	}

	/**
	 * Contains a MIME (Multipurpose Internet Mail Extensions) encoded BLOB of picture data, such as Windows metafile, bitmap, or OLE data.
	 */
	getForeignData() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Collection of StyleSheets.
 * @hideconstructor
 */
class StyleSheetCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {StyleSheet}
	 */
	get(index) {
	}

	/**
	 * Add StyleSheet in the collection.
	 * @param {StyleSheet} item
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove StyleSheet from the collection.
	 * @param {StyleSheet} item
	 */
	remove(item) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID
	 * @return {StyleSheet}
	 */
	getStyleSheet(ID) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Allows to specify additional options when rendering diagram pages to SVG.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("VisioSaveOptions.vsdx");
 * options = new aspose.diagram.SVGSaveOptions();
 * // value or the font is not installed locally, they may appear as a
 * // block,
 * // set the DefaultFont such as MingLiu or MS Gothic to show these
 * // characters.
 * options.setDefaultFont("MS Gothic");
 * // sets the 0-based index of the first page to render. Default is 0.
 * options.setPageIndex(0);
 * // set page size
 * pgSize = new aspose.diagram.PageSize(aspose.diagram.PaperSizeFormat.A_1);
 * options.setPageSize(pgSize);
 * diagram.save("out-UseSVGSaveOptions.svg", options);
 */
class SVGSaveOptions {
	/**
	 * Initializes a new instance of this class that can be used to save a document in the SaveFileFormat format.
	 */
	constructor() {
	}

	/**
	 * Gets or sets the 0-based index of the page to render. Default is 0.
	 */
	getPageIndex() {
	}
	/**
	 * Gets or sets the 0-based index of the page to render. Default is 0.
	 */
	setPageIndex(value) {
	}

	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	getExportHiddenPage() {
	}
	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	setExportHiddenPage(value) {
	}

	/**
	 * Gets or sets a value determining the quality of the generated  images
	 * to apply only when saving pages to the Jpeg format. The default value is 100
	 * Has effect only when saving to JPEG.
	 * The value must be between 0 and 100.
	 * The default value is 100.
	 */
	getQuality() {
	}
	/**
	 * Gets or sets a value determining the quality of the generated  images
	 * to apply only when saving pages to the Jpeg format. The default value is 100
	 * Has effect only when saving to JPEG.
	 * The value must be between 0 and 100.
	 * The default value is 100.
	 */
	setQuality(value) {
	}

	/**
	 * if this property is true, the generated svg will fit to view port.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize SVG save options
	 * options = new aspose.diagram.SVGSaveOptions();
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // Set SVG fit to view port
	 * options.setSVGFitToViewPort(true);
	 * // Set export element as Rectangle
	 * options.setExportElementAsRectTag(true);
	 * diagram.save("out-ExportOfHiddenVisioPagesToSVG.svg", options);
	 */
	getSVGFitToViewPort() {
	}
	/**
	 * if this property is true, the generated svg will fit to view port.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize SVG save options
	 * options = new aspose.diagram.SVGSaveOptions();
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // Set SVG fit to view port
	 * options.setSVGFitToViewPort(true);
	 * // Set export element as Rectangle
	 * options.setExportElementAsRectTag(true);
	 * diagram.save("out-ExportOfHiddenVisioPagesToSVG.svg", options);
	 */
	setSVGFitToViewPort(value) {
	}

	/**
	 * Defines whether need exporting rectangle elements as rect tag or not.
	 * Default value is false.
	 */
	getExportElementAsRectTag() {
	}
	/**
	 * Defines whether need exporting rectangle elements as rect tag or not.
	 * Default value is false.
	 */
	setExportElementAsRectTag(value) {
	}

	/**
	 * Defines whether need export scale in matrix or not.
	 * Default value is true.
	 */
	isExportScaleInMatrix() {
	}
	/**
	 * Defines whether need export scale in matrix or not.
	 * Default value is true.
	 */
	setExportScaleInMatrix(value) {
	}

	/**
	 * Defines whether Saving Image Separately.
	 */
	isSavingImageSeparately() {
	}
	/**
	 * Defines whether Saving Image Separately.
	 */
	setSavingImageSeparately(value) {
	}

	/**
	 * Defines whether Saving custom line pattern.
	 */
	isSavingCustomLinePattern() {
	}
	/**
	 * Defines whether Saving custom line pattern.
	 */
	setSavingCustomLinePattern(value) {
	}

	/**
	 * The user custom path(URL) saved in generated svg file for the image. If not defined by user, Current directory will be used.
	 */
	getCustomImagePath() {
	}
	/**
	 * The user custom path(URL) saved in generated svg file for the image. If not defined by user, Current directory will be used.
	 */
	setCustomImagePath(value) {
	}

	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	getPageSize() {
	}
	/**
	 * Gets or sets the page size for the generated images.
	 * Can be PageSize or null.
	 * The default value is null.
	 * If PageSize is null then page size for generated image is obtained from source diagram.
	 */
	setPageSize(value) {
	}

	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	getShapes() {
	}
	/**
	 * Gets or sets shapes to render. Default count is 0.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("LoadSaveConvert.vsdx");
	 * // create an instance SVG save options class
	 * options = new aspose.diagram.SVGSaveOptions();
	 * shapes = options.getShapes();
	 * // get shapes by page index and shape ID, and then add in the shape collection object
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(1));
	 * shapes.add(diagram.getPages().get(0).getShapes().getShape(2));
	 * // save Visio drawing
	 * diagram.save("out-SelectiveShapes_out.svg", options);
	 */
	setShapes(value) {
	}

	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	getExportGuideShapes() {
	}
	/**
	 * Defines whether need exporting the guide shapes or not.
	 * Default value is true.
	 */
	setExportGuideShapes(value) {
	}

	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	isExportComments() {
	}
	/**
	 * Defines whether need exporting the comments or not.
	 * Default value is false.
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
	 * // get a particular page
	 * page = diagram.getPages().getPage("Flow 2");
	 * // set Visio page visiblity
	 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
	 * // initialize Image save options
	 * options = new aspose.diagram.ImageSaveOptions(aspose.diagram.SaveFileFormat.JPEG);
	 * // set export option of hidden Visio pages
	 * options.setExportHiddenPage(false);
	 * // set export option of comments
	 * options.setExportComments(false);
	 * diagram.save("out-ExportOfHiddenVisioPagesToImage.jpeg", options);
	 */
	setExportComments(value) {
	}

	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	getEnlargePage() {
	}
	/**
	 * Specifies whether enlarge page .
	 * If true - enlarge page.
	 * If false - not enlarge page.
	 * The default value is true.
	 */
	setEnlargePage(value) {
	}

	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	getEmfRenderSetting() {
	}
	/**
	 * Setting for rendering Emf metafile.
	 * The value of the property is EmfRenderSetting integer constant.
	 * EMF metafiles identified as "EMF+ Dual" can contain both EMF+ records and EMF records.
	 * Either type of record can be used to render the image, only EMF+ records, or only EMF records.
	 * When EmfPlusPrefer is set, then EMF+ records will be parsed , otherwise only EMF records will be parsed.
	 * Default value is EmfOnly"/>.
	 */
	setEmfRenderSetting(value) {
	}

	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Contains a collection of Tab elements.
 * @hideconstructor
 */
class Tab {
	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the position of a tab stop.
	 */
	getPosition() {
	}
	/**
	 * Specifies the position of a tab stop.
	 */
	setPosition(value) {
	}

	/**
	 * Specifies the tab alignment.
	 */
	getAlignment() {
	}
	/**
	 * Specifies the tab alignment.
	 */
	setAlignment(value) {
	}

	/**
	 * Specified the leader.
	 */
	getLeader() {
	}
	/**
	 * Specified the leader.
	 */
	setLeader(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains a collection of Tab elements
 * @hideconstructor
 */
class TabCollection {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * The zero-based index of the element within its parent element.
	 */
	getIX() {
	}
	/**
	 * The zero-based index of the element within its parent element.
	 */
	setIX(value) {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Tab}
	 */
	get(index) {
	}

	/**
	 * Add the Tab object in the collection.
	 * @param {Tab} item
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Tab object from the collection.
	 * @param {Tab} item
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains a collection of TabCollection elements
 * @hideconstructor
 */
class TabsCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {TabCollection}
	 */
	get(index) {
	}

	/**
	 * Add the Tab object in the collection.
	 * @param {TabCollection} item
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Tab object from the collection.
	 * @param {TabCollection} item
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Contains the text of a shape.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("ReadDiagramFile.vsd");
 * // get page by name
 * page = diagram.getPages().getPage("Flow 1");
 * // Find a particular shape and update its text
 * for (it = page.getShapes().iterator(); it.hasNext();) {
 * shape = it.next();
 * if (shape.getNameU().toLowerCase() == "process") {
 * shape.getText().getValue().clear();
 * shape.getText().getValue().add(new aspose.diagram.Txt("New Text"));
 * break;
 * }
 * }
 * diagram.save("out-UpdateShapeText.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class Text {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * FormatTxt collection which contains the text of a shape.
	 */
	getValue() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains elements that specify the alignment, margins, and default tab stop positions of text in a shape's text block.
 * @hideconstructor
 */
class TextBlock {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the distance between the left border of the text block and the text it contains. This value is independent of the scale of the drawing. If the drawing is scaled, the left margin remains the same.
	 */
	getLeftMargin() {
	}
	/**
	 * Specifies the distance between the left border of the text block and the text it contains. This value is independent of the scale of the drawing. If the drawing is scaled, the left margin remains the same.
	 */
	setLeftMargin(value) {
	}

	/**
	 * Specifies the distance between the right border of the text block and the text it contains. This value is independent of the scale of the drawing. If the drawing is scaled, the right margin remains the same.
	 */
	getRightMargin() {
	}
	/**
	 * Specifies the distance between the right border of the text block and the text it contains. This value is independent of the scale of the drawing. If the drawing is scaled, the right margin remains the same.
	 */
	setRightMargin(value) {
	}

	/**
	 * Specifies the distance between the top border of the text block and the first line of text it contains.
	 */
	getTopMargin() {
	}
	/**
	 * Specifies the distance between the top border of the text block and the first line of text it contains.
	 */
	setTopMargin(value) {
	}

	/**
	 * Determines the distance between the bottom border of the text block and the last line of text it contains. The default is 4 pt. This value is independent of the scale of the drawing. If the drawing is scaled, the bottom margin remains the same.
	 */
	getBottomMargin() {
	}
	/**
	 * Determines the distance between the bottom border of the text block and the last line of text it contains. The default is 4 pt. This value is independent of the scale of the drawing. If the drawing is scaled, the bottom margin remains the same.
	 */
	setBottomMargin(value) {
	}

	/**
	 * Specifies the vertical alignment of text within the text block.
	 */
	getVerticalAlign() {
	}
	/**
	 * Specifies the vertical alignment of text within the text block.
	 */
	setVerticalAlign(value) {
	}

	/**
	 * Specifies the text background color for a shape.
	 */
	getTextBkgnd() {
	}
	/**
	 * Specifies the text background color for a shape.
	 */
	setTextBkgnd(value) {
	}

	/**
	 * Specifies the interval of the default tab stops in a text block.
	 */
	getDefaultTabStop() {
	}
	/**
	 * Specifies the interval of the default tab stops in a text block.
	 */
	setDefaultTabStop(value) {
	}

	/**
	 * Specifies the direction of the characters in a text block.
	 */
	getTextDirection() {
	}
	/**
	 * Specifies the direction of the characters in a text block.
	 */
	setTextDirection(value) {
	}

	/**
	 * Specifies the transparency level for the background color of a shape's text block, from 0 (completely opaque) to 1 (completely transparent).
	 */
	getTextBkgndTrans() {
	}
	/**
	 * Specifies the transparency level for the background color of a shape's text block, from 0 (completely opaque) to 1 (completely transparent).
	 */
	setTextBkgndTrans(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Represents a text box ActiveX control.
 * @hideconstructor
 */
class TextBoxActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	getBorderStyle() {
	}
	/**
	 * Gets and set the type of border used by the control.
	 * The value of the property is ControlBorderType integer constant.
	 */
	setBorderStyle(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBorderOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBorderOleColor(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Gets and sets the maximum number of characters
	 */
	getMaxLength() {
	}
	/**
	 * Gets and sets the maximum number of characters
	 */
	setMaxLength(value) {
	}

	/**
	 * Indicates specifies whether the control has vertical scroll bars, horizontal scroll bars, both, or neither.
	 * The value of the property is ControlScrollBarType integer constant.
	 */
	getScrollBars() {
	}
	/**
	 * Indicates specifies whether the control has vertical scroll bars, horizontal scroll bars, both, or neither.
	 * The value of the property is ControlScrollBarType integer constant.
	 */
	setScrollBars(value) {
	}

	/**
	 * Gets and sets a character to be displayed in place of the characters entered.
	 */
	getPasswordChar() {
	}
	/**
	 * Gets and sets a character to be displayed in place of the characters entered.
	 */
	setPasswordChar(value) {
	}

	/**
	 * Indicates whether the user can type into the control.
	 */
	isEditable() {
	}
	/**
	 * Indicates whether the user can type into the control.
	 */
	setEditable(value) {
	}

	/**
	 * Indicates whether the control will only show complete lines of text without showing any partial lines.
	 */
	getIntegralHeight() {
	}
	/**
	 * Indicates whether the control will only show complete lines of text without showing any partial lines.
	 */
	setIntegralHeight(value) {
	}

	/**
	 * Indicates whether dragging and dropping is enabled for the control.
	 */
	isDragBehaviorEnabled() {
	}
	/**
	 * Indicates whether dragging and dropping is enabled for the control.
	 */
	setDragBehaviorEnabled(value) {
	}

	/**
	 * Specifies the behavior of the ENTER key.
	 * True specifies that pressing ENTER will create a new line.
	 * False specifies that pressing ENTER will move the focus to the next object in the tab order.
	 */
	getEnterKeyBehavior() {
	}
	/**
	 * Specifies the behavior of the ENTER key.
	 * True specifies that pressing ENTER will create a new line.
	 * False specifies that pressing ENTER will move the focus to the next object in the tab order.
	 */
	setEnterKeyBehavior(value) {
	}

	/**
	 * Specifies selection behavior when entering the control.
	 * True specifies that the selection remains unchanged from last time the control was active.
	 * False specifies that all the text in the control will be selected when entering the control.
	 */
	getEnterFieldBehavior() {
	}
	/**
	 * Specifies selection behavior when entering the control.
	 * True specifies that the selection remains unchanged from last time the control was active.
	 * False specifies that all the text in the control will be selected when entering the control.
	 */
	setEnterFieldBehavior(value) {
	}

	/**
	 * Indicates whether tab characters are allowed in the text of the control.
	 */
	getTabKeyBehavior() {
	}
	/**
	 * Indicates whether tab characters are allowed in the text of the control.
	 */
	setTabKeyBehavior(value) {
	}

	/**
	 * Indicates whether selected text in the control appears highlighted when the control does not have focus.
	 */
	getHideSelection() {
	}
	/**
	 * Indicates whether selected text in the control appears highlighted when the control does not have focus.
	 */
	setHideSelection(value) {
	}

	/**
	 * Indicates whether the focus will automatically move to the next control when the user enters the maximum number of characters.
	 */
	isAutoTab() {
	}
	/**
	 * Indicates whether the focus will automatically move to the next control when the user enters the maximum number of characters.
	 */
	setAutoTab(value) {
	}

	/**
	 * Indicates whether the control can display more than one line of text.
	 */
	isMultiLine() {
	}
	/**
	 * Indicates whether the control can display more than one line of text.
	 */
	setMultiLine(value) {
	}

	/**
	 * Specifies the basic unit used to extend a selection.
	 * True specifies that the basic unit is a single character.
	 * false specifies that the basic unit is a whole word.
	 */
	isAutoWordSelected() {
	}
	/**
	 * Specifies the basic unit used to extend a selection.
	 * True specifies that the basic unit is a single character.
	 * false specifies that the basic unit is a whole word.
	 */
	setAutoWordSelected(value) {
	}

	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	isWordWrapped() {
	}
	/**
	 * Indicates whether the contents of the control automatically wrap at the end of a line.
	 */
	setWordWrapped(value) {
	}

	/**
	 * Gets and set text of the control.
	 */
	getText() {
	}
	/**
	 * Gets and set text of the control.
	 */
	setText(value) {
	}

	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is DropButtonStyle integer constant.
	 */
	getDropButtonStyle() {
	}
	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is DropButtonStyle integer constant.
	 */
	setDropButtonStyle(value) {
	}

	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is ShowDropButtonType integer constant.
	 */
	getShowDropButtonTypeWhen() {
	}
	/**
	 * Specifies the symbol displayed on the drop button
	 * The value of the property is ShowDropButtonType integer constant.
	 */
	setShowDropButtonTypeWhen(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Contains the text of a shape. Each item is text with character, paragraph and tabs properties.
 * @hideconstructor
 */
class TextCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Text}
	 */
	get(index) {
	}

	/**
	 * Add the Text object in the collection.
	 * @param {Text} item
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the Text object from the collection.
	 * @param {Text} item
	 */
	remove(item) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Specifies the direction of the characters in a text block.
 */
class TextDirection {
	/**
	 * Constructor.
	 * @param {Number} value - TextDirectionValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the direction of the characters in a text block.
	 * The value of the property is TextDirectionValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the direction of the characters in a text block.
	 * The value of the property is TextDirectionValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains elements that specify positioning information about a shape's text block.
 * @hideconstructor
 */
class TextXForm {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the x-coordinate of the text block's center of rotation in relation to the origin of the shape. The default formula, which evaluates to the horizontal center of the shape, is F="Width*0.5".
	 */
	getTxtPinX() {
	}
	/**
	 * Specifies the x-coordinate of the text block's center of rotation in relation to the origin of the shape. The default formula, which evaluates to the horizontal center of the shape, is F="Width*0.5".
	 */
	setTxtPinX(value) {
	}

	/**
	 * Specifies the y-coordinate of the text block's center of rotation in relation to the origin of the shape. The default formula, which evaluates to the vertical center of the shape, is F="Height*0.5".
	 */
	getTxtPinY() {
	}
	/**
	 * Specifies the y-coordinate of the text block's center of rotation in relation to the origin of the shape. The default formula, which evaluates to the vertical center of the shape, is F="Height*0.5".
	 */
	setTxtPinY(value) {
	}

	/**
	 * Specifies the width of the text block. The default formula, which evaluates to the width of the shape, is F="Width*1".
	 */
	getTxtWidth() {
	}
	/**
	 * Specifies the width of the text block. The default formula, which evaluates to the width of the shape, is F="Width*1".
	 */
	setTxtWidth(value) {
	}

	/**
	 * Specifies the height of the text block. The default formula, which evaluates to the height of the shape, is F="Height*1".
	 */
	getTxtHeight() {
	}
	/**
	 * Specifies the height of the text block. The default formula, which evaluates to the height of the shape, is F="Height*1".
	 */
	setTxtHeight(value) {
	}

	/**
	 * Specifies the x-coordinate of the text block's center of rotation in relation to the origin of the text block. The default formula, which evaluates to the horizontal center of the text block, is F="TxtWidth*0.5".
	 */
	getTxtLocPinX() {
	}
	/**
	 * Specifies the x-coordinate of the text block's center of rotation in relation to the origin of the text block. The default formula, which evaluates to the horizontal center of the text block, is F="TxtWidth*0.5".
	 */
	setTxtLocPinX(value) {
	}

	/**
	 * Specifies the y-coordinate of the text block's center of rotation relative to the origin of the text block. The default formula, which evaluates to the vertical center of the text block, is F="TxtHeight*0.5".
	 */
	getTxtLocPinY() {
	}
	/**
	 * Specifies the y-coordinate of the text block's center of rotation relative to the origin of the text block. The default formula, which evaluates to the vertical center of the text block, is F="TxtHeight*0.5".
	 */
	setTxtLocPinY(value) {
	}

	/**
	 * Specifies the text block's current angle of rotation in relation to the x-axis of the shape. The default is 0 degrees.
	 */
	getTxtAngle() {
	}
	/**
	 * Specifies the text block's current angle of rotation in relation to the x-axis of the shape. The default is 0 degrees.
	 */
	setTxtAngle(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Represents a shape's three-dimensional formatting.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
 * // get shape by ID and page name
 * shape = diagram.getPages().getPage("Page-1").getShapes().getShape(796);
 * // set 3D rotation properties
 * shape.getThreeDFormat().getRotationXAngle().setValue(2.61);
 * shape.getThreeDFormat().getRotationYAngle().setValue(2.61);
 * shape.getThreeDFormat().getRotationZAngle().setValue(3);
 * shape.getThreeDFormat().getRotationType().setValue(aspose.diagram.RotationTypeValue.PARALLEL);
 * shape.getThreeDFormat().getPerspective().setValue(0);
 * shape.getThreeDFormat().getDistanceFromGround().setValue(0);
 * shape.getThreeDFormat().getKeepTextFlat().setValue(aspose.diagram.BOOL.TRUE);
 * diagram.save("out-Apply3DRotationEffects.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class ThreeDFormat {
	/**
	 * Specifies the height of the bottom bevel on a 3D shape.
	 */
	getBevelBottomHeight() {
	}
	/**
	 * Specifies the height of the bottom bevel on a 3D shape.
	 */
	setBevelBottomHeight(value) {
	}

	/**
	 * Specifies the preset bevel type for the bottom bevel on a 3D shape
	 */
	getBevelBottomType() {
	}
	/**
	 * Specifies the preset bevel type for the bottom bevel on a 3D shape
	 */
	setBevelBottomType(value) {
	}

	/**
	 * Specifies the width of the bottom bevel on a 3D shape.
	 */
	getBevelBottomWidth() {
	}
	/**
	 * Specifies the width of the bottom bevel on a 3D shape.
	 */
	setBevelBottomWidth(value) {
	}

	/**
	 * Specifies the color of the outline on a 3D shape
	 */
	getBevelContourColor() {
	}
	/**
	 * Specifies the color of the outline on a 3D shape
	 */
	setBevelContourColor(value) {
	}

	/**
	 * Specifies the thickness of the outline on a 3D shape
	 */
	getBevelContourSize() {
	}
	/**
	 * Specifies the thickness of the outline on a 3D shape
	 */
	setBevelContourSize(value) {
	}

	/**
	 * Specifies the extrusion color on a 3D shape
	 */
	getBevelDepthColor() {
	}
	/**
	 * Specifies the extrusion color on a 3D shape
	 */
	setBevelDepthColor(value) {
	}

	/**
	 * Specifies the extrusion depth on a 3D shape
	 */
	getBevelDepthSize() {
	}
	/**
	 * Specifies the extrusion depth on a 3D shape
	 */
	setBevelDepthSize(value) {
	}

	/**
	 * Specifies the direction for lighting on a 3D shape.
	 */
	getBevelLightingAngle() {
	}
	/**
	 * Specifies the direction for lighting on a 3D shape.
	 */
	setBevelLightingAngle(value) {
	}

	/**
	 * Specifies the preset type of lighting on a 3D shape
	 */
	getBevelLightingType() {
	}
	/**
	 * Specifies the preset type of lighting on a 3D shape
	 */
	setBevelLightingType(value) {
	}

	/**
	 * Specifies the preset surface appearance on a 3D shape
	 */
	getBevelMaterialType() {
	}
	/**
	 * Specifies the preset surface appearance on a 3D shape
	 */
	setBevelMaterialType(value) {
	}

	/**
	 * Specifies the height of the top bevel on a 3D shape
	 */
	getBevelTopHeight() {
	}
	/**
	 * Specifies the height of the top bevel on a 3D shape
	 */
	setBevelTopHeight(value) {
	}

	/**
	 * Specifies the width of the top bevel on a 3D shape.
	 */
	getBevelTopWidth() {
	}
	/**
	 * Specifies the width of the top bevel on a 3D shape.
	 */
	setBevelTopWidth(value) {
	}

	/**
	 * Specifies the preset bevel type for the top bevel on a 3D shape
	 */
	getBevelTopType() {
	}
	/**
	 * Specifies the preset bevel type for the top bevel on a 3D shape
	 */
	setBevelTopType(value) {
	}

	/**
	 * Specifies the distance that a shape with 3D rotation properties
	 */
	getDistanceFromGround() {
	}
	/**
	 * Specifies the distance that a shape with 3D rotation properties
	 */
	setDistanceFromGround(value) {
	}

	/**
	 * Specifies the angle of view for a shape with 3D rotation properties
	 */
	getPerspective() {
	}
	/**
	 * Specifies the angle of view for a shape with 3D rotation properties
	 */
	setPerspective(value) {
	}

	/**
	 * Specifies the type of projection of the effect properties of a shape.
	 */
	getRotationType() {
	}
	/**
	 * Specifies the type of projection of the effect properties of a shape.
	 */
	setRotationType(value) {
	}

	/**
	 * Specifies the counterclockwise rotation angle of a shape around the y-axis.
	 */
	getRotationXAngle() {
	}
	/**
	 * Specifies the counterclockwise rotation angle of a shape around the y-axis.
	 */
	setRotationXAngle(value) {
	}

	/**
	 * Specifies the counterclockwise rotation angle of a shape around the x-axis
	 */
	getRotationYAngle() {
	}
	/**
	 * Specifies the counterclockwise rotation angle of a shape around the x-axis
	 */
	setRotationYAngle(value) {
	}

	/**
	 * Specifies the counterclockwise rotation angle of a shape around the z-axis.
	 */
	getRotationZAngle() {
	}
	/**
	 * Specifies the counterclockwise rotation angle of a shape around the z-axis.
	 */
	setRotationZAngle(value) {
	}

	/**
	 * Specifies whether 3D rotation properties apply to the text of a shape
	 */
	getKeepTextFlat() {
	}
	/**
	 * Specifies whether 3D rotation properties apply to the text of a shape
	 */
	setKeepTextFlat(value) {
	}

	/**
	 * @param {Object} obj
	 * @return {boolean}
	 */
	equals(obj) {
	}

}

/**
 * TimeLineHelper to set property of timeline shape.
 */
class TimeLineHelper {
	/**
	 * TimeLineHelper.
	 */
	constructor(shape) {
	}

	/**
	 * Time Period for start of timeline shape
	 */
	getTimePeriodStart() {
	}

	/**
	 * Time Period for finish of timeline shape
	 */
	getTimePeriodFinish() {
	}

	/**
	 * scale of timeline shape
	 */
	getTimeScale() {
	}
	/**
	 * scale of timeline shape
	 */
	setTimeScale(value) {
	}

	/**
	 * ArrowHead of timeline shape
	 */
	setArrowHead(value) {
	}

	/**
	 * Begin week of timeline shape
	 */
	setBeginWeek(value) {
	}

	/**
	 * Begin week of timeline shape
	 */
	setTimeLineType(value) {
	}

	/**
	 * whether to display Begin and End dates on timeline
	 */
	setDisplayBE(value) {
	}

	/**
	 * whether to display interim date/time ticks on timeline
	 */
	setDisplayIntm(value) {
	}

	/**
	 * whether to display interim dates on interim ticks
	 */
	setDisplayIntmDates(value) {
	}

	/**
	 * whether to update data for markers (milestones, intervals) as they are moved on timeline
	 */
	setAutoUpdate(value) {
	}

	/**
	 * DateFormat for Intm of timeline shape
	 * Value Format String 0dddd, yyyy-M-d1yyyy-MM-dd2yy-MMM-d3yyyy/M/d4yy-MMM.-d5d MMMM yyyy6yy-M7MMM-yy8MMMM d, yyyy9MMM d, yyyy10M-d-yy11M-d12d MMMM, yyyy13d MMM, yyyy14d-M-yy15d-M16yy-M-d17yyyy-M-d18M-yy19M-yyyy20MMMM yyyy21MMMM yy22MMM yyyy23MMM yy24yy25yyyy26d27MMMM28MMM29M30MM/dd/yyyy
	 */
	setDateFormatForIntm(value) {
	}

	/**
	 * DateFormat String for Intm of timeline shape
	 */
	setDateFormatStringForIntm(value) {
	}

	/**
	 * DateFormat for start and finish of timeline shape
	 * Value Format String 0dddd, yyyy-M-d1yyyy-MM-dd2yy-MMM-d3yyyy/M/d4yy-MMM.-d5d MMMM yyyy6yy-M7MMM-yy8MMMM d, yyyy9MMM d, yyyy10M-d-yy11M-d12d MMMM, yyyy13d MMM, yyyy14d-M-yy15d-M16yy-M-d17yyyy-M-d18M-yy19M-yyyy20MMMM yyyy21MMMM yy22MMM yyyy23MMM yy24yy25yyyy26d27MMMM28MMM29M30MM/dd/yyyy
	 */
	setDateFormatForBE(value) {
	}

	/**
	 * DateFormat String for start and finish of timeline shape
	 */
	setDateFormatStringForBE(value) {
	}

	/**
	 * Refresh time of timeline shapes
	 * @example
	 * var aspose = aspose || {};
	 * aspose.diagram = require("aspose.diagram");
	 * diagram = new aspose.diagram.Diagram("DrawingTimeLine.vsdx");
	 * shapeid = 1;
	 * // Get timeline shape
	 * timeline = diagram.getPages().getPage("Page-1").getShapes().getShape(shapeid);
	 * // Initialize TimeLineHlper object
	 * timelineHelper = new aspose.diagram.TimeLineHelper(timeline);
	 * // Set start time
	 * timelineHelper.setTimePeriodStart(new aspose.diagram.DateTime(2014, 12, 21));
	 * // Set end time
	 * timelineHelper.setTimePeriodFinish(new aspose.diagram.DateTime(2015, 2, 19));
	 * // Set date format
	 * timelineHelper.setDateFormatForBE(21);
	 * // revive milestones on the timeline
	 * timelineHelper.refreshTimeLine();
	 * diagram.save("out-RefreshTimeLine.vsdx", aspose.diagram.SaveFileFormat.VSDX);
	 */
	refreshTimeLine() {
	}

}

/**
 * Represents a ToggleButton ActiveX control.
 * @hideconstructor
 */
class ToggleButtonActiveXControl {
	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	getCaption() {
	}
	/**
	 * Gets and set the descriptive text that appears on a control.
	 */
	setCaption(value) {
	}

	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	getPicturePosition() {
	}
	/**
	 * Gets and set the location of the control's picture relative to its caption.
	 * The value of the property is ControlPicturePositionType integer constant.
	 */
	setPicturePosition(value) {
	}

	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	getSpecialEffect() {
	}
	/**
	 * Gets and sets the special effect of the control.
	 * The value of the property is ControlSpecialEffectType integer constant.
	 */
	setSpecialEffect(value) {
	}

	/**
	 * Gets and sets the data of the picture.
	 */
	getPicture() {
	}
	/**
	 * Gets and sets the data of the picture.
	 */
	setPicture(value) {
	}

	/**
	 * Gets and sets the accelerator key for the control.
	 */
	getAccelerator() {
	}
	/**
	 * Gets and sets the accelerator key for the control.
	 */
	setAccelerator(value) {
	}

	/**
	 * Indicates if the control is checked or not.
	 * The value of the property is CheckValueType integer constant.
	 */
	getValue() {
	}
	/**
	 * Indicates if the control is checked or not.
	 * The value of the property is CheckValueType integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Indicates how the specified control will display Null values.
	 * SettingDescriptionTrueThe control will cycle through states for Yes, No, and Null values. The control appears dimmed (grayed) when its Value property is set to Null.False(Default) The control will cycle through states for Yes and No values. Null values display as if they were No values.
	 */
	isTripleState() {
	}
	/**
	 * Indicates how the specified control will display Null values.
	 * SettingDescriptionTrueThe control will cycle through states for Yes, No, and Null values. The control appears dimmed (grayed) when its Value property is set to Null.False(Default) The control will cycle through states for Yes and No values. Null values display as if they were No values.
	 */
	setTripleState(value) {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

}

/**
 * Specifies the beginning of a tabs properties run. The run is defined to the end of the text or until the next
 */
class Tp {
	/**
	 * Constructor
	 * @param {Number} IX - The zero-based index of the element within its parent element.
	 */
	constructor(IX) {
	}

	/**
	 * Value
	 */
	getValue() {
	}

}

/**
 * Text of the shape
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("FindReplaceText.vsdx");
 * // Prepare a collection old and new text
 * replacements = {
 * "[[CompanyName]]": "Research Society",
 * "[[EmployeeName]]": "James Bond",
 * "[[SubjectTitle]]": "The affect of the internet on social behavior in the industrialize world",
 * "[[SubmissionDate]]": new Date().toDateString(),
 * "[[AmountReq]]": "$100,000"}
 * // Iterate through the shapes of a page
 * for (it = diagram.getPages().getPage("Page-1").getShapes().iterator(); it.hasNext();) {
 * shape = it.next();
 * for (key in replacements) {
 * for (it_txt = shape.getText().getValue().iterator(); it_txt.hasNext();) {
 * txt = it_txt.next();
 * var strFun = txt.constructor.toString();
 * var className = strFun.substr(0, strFun.indexOf('('));
 * className = className.replace('function', '');
 * className = className.replace(/(^\s*)|(\s*$)/ig, '');
 * if (className == "nodeJava_com_aspose_diagram_Txt") {
 * // find and replace text of a shape
 * if (txt.getText().indexOf(key) != -1) {
 * txt.setText(replacements[key]);
 * }
 * }
 * }
 * }
 * }
 * diagram.save("out-FindAndReplaceShapeText.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class Txt {
	/**
	 * Constructor
	 * @param {String} value - Text of the shape.
	 */
	constructor(value) {
	}

	/**
	 * Value
	 */
	getValue() {
	}

	/**
	 * Contains the text of a shape.
	 */
	getText() {
	}
	/**
	 * Contains the text of a shape.
	 */
	setText(value) {
	}

}

/**
 * Represents the save options for csv/other text format.
 */
class TxtSaveOptions {
	/**
	 * Creates text file save options.
	 */
	constructor() {
	}
	/**
	 * Creates text file save options.
	 * @param {Number} format - SaveFileFormat
	 */
	constructor_overload$1(format) {
	}

	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the document will be saved if this save options object is used.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Specifies various types, based on the element in which it is contained.
 */
class TypeConnection {
	/**
	 * Constructor.
	 * @param {Number} value - TypeConnectionValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies various types, based on the element in which it is contained.
	 * The value of the property is TypeConnectionValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies various types, based on the element in which it is contained.
	 * The value of the property is TypeConnectionValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Type specifies a data type for the text field value.
 */
class TypeField {
	/**
	 * Constructor.
	 * @param {Number} value - TypeFieldValue
	 */
	constructor(value) {
	}

	/**
	 * Type specifies a data type for the text field value.
	 * The value of the property is TypeFieldValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Type specifies a data type for the text field value.
	 * The value of the property is TypeFieldValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Type specifies a data type for the custom property value.
 */
class TypeProp {
	/**
	 * Constructor.
	 * @param {Number} value - TypePropValue
	 */
	constructor(value) {
	}

	/**
	 * Type specifies a data type for the custom property value.
	 * The value of the property is TypePropValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Type specifies a data type for the custom property value.
	 * The value of the property is TypePropValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies the tab alignment.
 */
class UIVisibility {
	/**
	 * Constructor.
	 * @param {Number} value - UIVisibilityValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the uivisibility.
	 * The value of the property is UIVisibilityValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the uivisibility.
	 * The value of the property is UIVisibilityValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Specifies attributes of an element.
 */
class UnitFormulaErr {
	/**
	 * Constructor.
	 * @param {Number} unit - MeasureConst
	 * @param {String} f
	 * @param {String} err
	 */
	constructor(unit, f, err) {
	}
	/**
	 * Constructor.
	 */
	constructor_overload$1() {
	}

	/**
	 * Units of measure.
	 * The value of the property is MeasureConst integer constant.
	 */
	getUnit() {
	}
	/**
	 * Units of measure.
	 * The value of the property is MeasureConst integer constant.
	 */
	setUnit(value) {
	}

	/**
	 * Represents the element's formula.
	 */
	getF() {
	}
	/**
	 * Represents the element's formula.
	 */
	setF(value) {
	}

	/**
	 * Indicates that the formula evaluates to an error.
	 */
	getErr() {
	}
	/**
	 * Indicates that the formula evaluates to an error.
	 */
	setErr(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specified attributes of an element.
 */
class UnitFormulaErrV {
	/**
	 * Constructor.
	 * @param {Number} unit - MeasureConst
	 * @param {String} f
	 * @param {String} err
	 * @param {String} v
	 */
	constructor(unit, f, err, v) {
	}

	/**
	 * Represents the null string condition for a string cell value. In some cases it is helpful to distinguish between an empty string cell null and a null string cell value. This attribute is used to distinguish between these forms of an empty value.
	 */
	getV() {
	}
	/**
	 * Represents the null string condition for a string cell value. In some cases it is helpful to distinguish between an empty string cell null and a null string cell value. This attribute is used to distinguish between these forms of an empty value.
	 */
	setV(value) {
	}

	/**
	 * Units of measure.
	 * The value of the property is MeasureConst integer constant.
	 */
	getUnit() {
	}
	/**
	 * Units of measure.
	 * The value of the property is MeasureConst integer constant.
	 */
	setUnit(value) {
	}

	/**
	 * Represents the element's formula.
	 */
	getF() {
	}
	/**
	 * Represents the element's formula.
	 */
	setF(value) {
	}

	/**
	 * Indicates that the formula evaluates to an error.
	 */
	getErr() {
	}
	/**
	 * Indicates that the formula evaluates to an error.
	 */
	setErr(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Unknow control.
 * @hideconstructor
 */
class UnknownControl {
	/**
	 * Gets the persistence method to persist an ActiveX control.
	 * The value of the property is ActiveXPersistenceType integer constant.
	 */
	getPersistenceType() {
	}

	/**
	 * Gets and sets the binary data of the control.
	 */
	getData() {
	}

	/**
	 * Gets the type of the ActiveX control.
	 * The value of the property is ControlType integer constant.
	 */
	getType() {
	}

	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	isEnabled() {
	}
	/**
	 * Indicates whether the control can receive the focus and respond to user-generated events.
	 */
	setEnabled(value) {
	}

	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	isLocked() {
	}
	/**
	 * Indicates whether data in the control is locked for editing.
	 */
	setLocked(value) {
	}

	/**
	 * Indicates whether the control is transparent.
	 */
	isTransparent() {
	}
	/**
	 * Indicates whether the control is transparent.
	 */
	setTransparent(value) {
	}

	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	isAutoSize() {
	}
	/**
	 * Indicates whether the control will automatically resize to display its entire contents.
	 */
	setAutoSize(value) {
	}

	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	getIMEMode() {
	}
	/**
	 * Gets and sets the default run-time mode of the Input Method Editor for the control as it receives focus.
	 * The value of the property is InputMethodEditorMode integer constant.
	 */
	setIMEMode(value) {
	}

	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	getWidth() {
	}
	/**
	 * Gets and sets the width of the control in unit of point.
	 */
	setWidth(value) {
	}

	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	getHeight() {
	}
	/**
	 * Gets and sets the height of the control in unit of points.
	 */
	setHeight(value) {
	}

	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	getMouseIcon() {
	}
	/**
	 * Gets and sets a custom icon to display as the mouse pointer for the control.
	 */
	setMouseIcon(value) {
	}

	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	getMousePointer() {
	}
	/**
	 * Gets and sets the type of icon displayed as the mouse pointer for the control.
	 * The value of the property is ControlMousePointerType integer constant.
	 */
	setMousePointer(value) {
	}

	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	getForeOleColor() {
	}
	/**
	 * Gets and sets the ole color of the foreground.
	 * Not applies to Image control.
	 */
	setForeOleColor(value) {
	}

	/**
	 * Gets and sets the ole color of the background.
	 */
	getBackOleColor() {
	}
	/**
	 * Gets and sets the ole color of the background.
	 */
	setBackOleColor(value) {
	}

	/**
	 * Gets the relationship data.
	 * @param {String} relId - The relationship id.
	 * @return {byte[]} returns the relationship data.
	 */
	getRelationshipData(relId) {
	}

}

/**
 * Contains a work area for entering formulas in user-specific elements that are referred to by other elements and add-on tools.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("TextBoxes.vsdx");
 * // get page by name
 * page = diagram.getPages().getPage("Page-1");
 * // get shape by id
 * shape = page.getShapes().getShape(2);
 * // initialize user object
 * user = new aspose.diagram.User();
 * user.setName("UserDefineCell");
 * user.getValue().setVal("800");
 * // add user-defined cell
 * shape.getUsers().add(user);
 * diagram.save("out-CreateUserDefinedCellInShapeSheet.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class User {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
	 */
	getValue() {
	}
	/**
	 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
	 */
	setValue(value) {
	}

	/**
	 * The name of the element.
	 */
	getName() {
	}
	/**
	 * The name of the element.
	 */
	setName(value) {
	}

	/**
	 * The universal name of the element.
	 */
	getNameU() {
	}
	/**
	 * The universal name of the element.
	 */
	setNameU(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * It specifies a descriptive prompt or comment for the user-defined element.
	 */
	getPrompt() {
	}
	/**
	 * It specifies a descriptive prompt or comment for the user-defined element.
	 */
	setPrompt(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * User collection.
 * @hideconstructor
 */
class UserCollection {
	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {User}
	 */
	get(index) {
	}

	/**
	 * Add the User object in the collection.
	 * @return {Number}
	 */
	add(item) {
	}

	/**
	 * Remove the User object from the collection.
	 */
	remove(item) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {String} name
	 * @return {User}
	 */
	getUser(name) {
	}

	/**
	 * Gets the element at the specified ID.
	 * @param {Number} ID
	 * @return {User}
	 */
	getUser(ID) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Stores information about diagram validation for the document.
 * @hideconstructor
 */
class Validation {
	/**
	 * Includes a RuleSet element for each validation rule set in the document.
	 */
	getRuleSets() {
	}

	/**
	 * Contains all the Issue elements for the document.
	 */
	getIssues() {
	}

	/**
	 * Encapsulates properties related to validation for the document.
	 */
	getValidationProperties() {
	}

}

/**
 * Encapsulates properties related to validation for the document.
 * @hideconstructor
 */
class ValidationProperties {
	/**
	 * The date and time the document was last validated
	 */
	getLastValidated() {
	}

	/**
	 * Whether to show ignored validation issues in the Issues window.
	 * The value of the property is BOOL integer constant.
	 */
	getShowIgnored() {
	}
	/**
	 * Whether to show ignored validation issues in the Issues window.
	 * The value of the property is BOOL integer constant.
	 */
	setShowIgnored(value) {
	}

}

/**
 * Value.
 * @hideconstructor
 */
class Value {
	/**
	 * Specified attributes of an element.
	 */
	getUfev() {
	}
	/**
	 * Specified attributes of an element.
	 */
	setUfev(value) {
	}

	/**
	 * Text value
	 */
	getVal() {
	}
	/**
	 * Text value
	 */
	setVal(value) {
	}

	/**
	 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
	 */
	getSolutionXML() {
	}
	/**
	 * Contains solution-specific, well-formed XML data that is prefixed in an explicit namespace and is stored with a document.
	 */
	setSolutionXML(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} obj
	 * @return {boolean}
	 */
	equals(obj) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Represents module that is contained in VBA project.
 * @hideconstructor
 */
class VbaModule {
	/**
	 * Gets and sets the name of Module.
	 */
	getName() {
	}
	/**
	 * Gets and sets the name of Module.
	 */
	setName(value) {
	}

	/**
	 * Gets the type of module.
	 * The value of the property is VbaModuleType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the codes of module.
	 */
	getCodes() {
	}
	/**
	 * Gets and sets the codes of module.
	 */
	setCodes(value) {
	}

}

/**
 * Represents the list of VbaModule
 * @hideconstructor
 */
class VbaModuleCollection {
	/**
	 */
	getCount() {
	}

	/**
	 * Gets VbaModule in the list by the index.
	 * @param {Number} index - The index.
	 * @return {VbaModule}
	 */
	get(index) {
	}

	/**
	 * Gets VbaModule in the list by the name.
	 * @param {String} name - The name of module.
	 * @return {VbaModule}
	 */
	get(name) {
	}

	/**
	 * Adds module for a page.
	 * @param {Page} page - The Page
	 * @return {Number}
	 */
	add(page) {
	}

	/**
	 * Adds module.
	 * @param {Number} type - VbaModuleType
	 * @param {String} name - The name of module.
	 * @return {Number}
	 */
	add(type, name) {
	}

	/**
	 * Removes module for a page.
	 * @param {Page} page - The page
	 * @return {void}
	 */
	remove(page) {
	}

	/**
	 * Remove the module by the name
	 * @param {String} name
	 */
	remove(name) {
	}

	/**
	 */
	clear() {
	}

	/**
	 */
	removeAt(index) {
	}

	/**
	 */
	iterator() {
	}

	/**
	 * Reserved for internal use.
	 */
	get(index) {
	}

	/**
	 * Reserved for internal use.
	 */
	contains(value) {
	}

	/**
	 * Reserved for internal use.
	 */
	add(value) {
	}

	/**
	 * Reserved for internal use.
	 */
	indexOf(value) {
	}

}

/**
 * Represents the VBA project.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("Macro.vsdm");
 * // extract VBA project
 * v = diagram.getVbaProject();
 * // Iterate through the modules and modify VBA macro code
 * for (i = 0; i < diagram.getVbaProject().getModules().getCount(); i++) {
 * module = diagram.getVbaProject().getModules().get(i);
 * code = module.getCodes();
 * if (code.indexOf("This is test message.") != -1) {
 * code = code.replace("This is test message.", "This is Aspose.Diagram message.");
 * }
 * module.setCodes(code);
 * }
 * // save the Visio diagram
 * diagram.save("out-ModifyVBAModule.vssm", aspose.diagram.SaveFileFormat.VSSM);
 * @hideconstructor
 */
class VbaProject {
	/**
	 * Gets and sets the name of the VBA project.
	 */
	getName() {
	}
	/**
	 * Gets and sets the name of the VBA project.
	 */
	setName(value) {
	}

	/**
	 * Indicates whether VBAcode is signed or not.
	 */
	isSigned() {
	}

	/**
	 * Gets all VbaModule objects.
	 */
	getModules() {
	}

	/**
	 * Gets all references of VBA project.
	 */
	getReferences() {
	}

}

/**
 * Represents the refernece of VBA project.
 * @hideconstructor
 */
class VbaProjectReference {
	/**
	 * Gets the type of this reference.
	 * The value of the property is VbaProjectReferenceType integer constant.
	 */
	getType() {
	}

	/**
	 * Gets and sets the name of the reference.
	 */
	getName() {
	}
	/**
	 * Gets and sets the name of the reference.
	 */
	setName(value) {
	}

	/**
	 * Gets and sets the Libid of the reference.
	 */
	getLibid() {
	}
	/**
	 * Gets and sets the Libid of the reference.
	 */
	setLibid(value) {
	}

	/**
	 * Gets and sets the twiddled Libid of the reference.
	 * Only for control reference.
	 */
	getTwiddledlibid() {
	}
	/**
	 * Gets and sets the twiddled Libid of the reference.
	 * Only for control reference.
	 */
	setTwiddledlibid(value) {
	}

	/**
	 * Gets and sets the extended Libid of the reference.
	 * Only for control reference.
	 */
	getExtendedLibid() {
	}
	/**
	 * Gets and sets the extended Libid of the reference.
	 * Only for control reference.
	 */
	setExtendedLibid(value) {
	}

	/**
	 * Gets and sets the referenced VBA project’s identifier with an relative path.
	 * Only for project reference.
	 */
	getRelativeLibid() {
	}
	/**
	 * Gets and sets the referenced VBA project’s identifier with an relative path.
	 * Only for project reference.
	 */
	setRelativeLibid(value) {
	}

}

/**
 * Represents all references of VBA project.
 * @hideconstructor
 */
class VbaProjectReferenceCollection {
	/**
	 */
	getCount() {
	}

	/**
	 * Get the reference in the list by the index.
	 * @param {Number} i - The index.
	 * @return {VbaProjectReference}
	 */
	get(i) {
	}

	/**
	 * Add a reference to an Automation type library.
	 * @param {String} name - The name of reference.
	 * @param {String} libid - The identifier of an Automation type library.
	 * @return {Number}
	 */
	addRegisteredReference(name, libid) {
	}

	/**
	 * Add a reference to a twiddled type library and its extended type library.
	 * @param {String} name - The name of reference.
	 * @param {String} libid - The identifier of an Automation type library.
	 * @param {String} twiddledlibid - The identifier of a twiddled type library
	 * @param {String} extendedLibid - The identifier of an extended type library
	 * @return {Number}
	 */
	addControlRefrernce(name, libid, twiddledlibid, extendedLibid) {
	}

	/**
	 * Add a reference to an external VBA project.
	 * @param {String} name - The name of reference.
	 * @param {String} absoluteLibid - The referenced VBA project’s identifier with an absolute path.
	 * @param {String} relativeLibid - The referenced VBA project’s identifier with an relative path.
	 * @return {Number}
	 */
	addProjectRefrernce(name, absoluteLibid, relativeLibid) {
	}

	/**
	 */
	clear() {
	}

	/**
	 */
	removeAt(index) {
	}

	/**
	 */
	iterator() {
	}

	/**
	 * Reserved for internal use.
	 */
	get(index) {
	}

	/**
	 * Reserved for internal use.
	 */
	contains(value) {
	}

	/**
	 * Reserved for internal use.
	 */
	add(value) {
	}

	/**
	 * Reserved for internal use.
	 */
	indexOf(value) {
	}

}

/**
 * Specifies the vertical alignment of text within the text block.
 */
class VerticalAlign {
	/**
	 * Constructor.
	 * @param {Number} value - VerticalAlignValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the vertical alignment of text within the text block.
	 * The value of the property is VerticalAlignValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the vertical alignment of text within the text block.
	 * The value of the property is VerticalAlignValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}
	/**
	 * Specifies attributes of an element.
	 */
	setUfe(value) {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Specifies whether an endpoint of a 1-D shape moves to a horizontal or vertical connection point on the shape it is glued to, using dynamic glue, when the shape is moved to an ambiguous position.
 */
class WalkPreference {
	/**
	 * Constructor.
	 * @param {Number} value - WalkPreferenceValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies whether an endpoint of a 1-D shape moves to a horizontal or vertical connection point on the shape it is glued to, using dynamic glue, when the shape is moved to an ambiguous position.
	 * The value of the property is WalkPreferenceValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies whether an endpoint of a 1-D shape moves to a horizontal or vertical connection point on the shape it is glued to, using dynamic glue, when the shape is moved to an ambiguous position.
	 * The value of the property is WalkPreferenceValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Warning info
 */
class WarningInfo {
	/**
	 * Create warning info.
	 * @param {Number} warningType - WarningType
	 * @param {String} description - warning description
	 */
	constructor(warningType, description) {
	}

	/**
	 * Get warning type.
	 * The value of the property is WarningType integer constant.
	 */
	getWarningType() {
	}

	/**
	 * Get description of warning info.
	 */
	getDescription() {
	}

}

/**
 * Represents an open window in a Microsoft Visio instance. This element contains information necessary to exactly re-create a user interface window in the application workspace when the DatadiagramML file is initially opened by Visio.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("TextBoxes.vsdx");
 * // get window object by index
 * window = diagram.getWindows().get(0);
 * // set visibility of grid
 * window.setShowGrid(aspose.diagram.BOOL.TRUE);
 * // set visibility of guides
 * window.setShowGuides(aspose.diagram.BOOL.TRUE);
 * // set visibility of rulers
 * window.setShowRulers(aspose.diagram.BOOL.TRUE);
 * // set visibility of page breaks
 * window.setShowPageBreaks(aspose.diagram.BOOL.TRUE);
 * diagram.save("out-DisplayGridsRulersGuidesAndPageBreaks.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 */
class Window {
	/**
	 * Constructor.
	 */
	constructor() {
	}

	/**
	 * Specifies the group of merged stencil windows of which the window is a member. This attribute is relevant only for Window elements whose WindowType attribute is Stencil, and only if the stencil window is part of a merged group of stencil windows. All stencil windows that are part of the same merged group have the same StencilGroup element value.
	 */
	getStencilGroup() {
	}
	/**
	 * Specifies the group of merged stencil windows of which the window is a member. This attribute is relevant only for Window elements whose WindowType attribute is Stencil, and only if the stencil window is part of a merged group of stencil windows. All stencil windows that are part of the same merged group have the same StencilGroup element value.
	 */
	setStencilGroup(value) {
	}

	/**
	 * Contains an integer that specifies the relative position of a stencil within a group in a window.
	 */
	getStencilGroupPos() {
	}
	/**
	 * Contains an integer that specifies the relative position of a stencil within a group in a window.
	 */
	setStencilGroupPos(value) {
	}

	/**
	 * Specifies whether rulers are shown in the drawing window.
	 * The value of the property is BOOL integer constant.
	 */
	getShowRulers() {
	}
	/**
	 * Specifies whether rulers are shown in the drawing window.
	 * The value of the property is BOOL integer constant.
	 */
	setShowRulers(value) {
	}

	/**
	 * Specifies whether a grid is shown in the drawing window.
	 * The value of the property is BOOL integer constant.
	 */
	getShowGrid() {
	}
	/**
	 * Specifies whether a grid is shown in the drawing window.
	 * The value of the property is BOOL integer constant.
	 */
	setShowGrid(value) {
	}

	/**
	 * Specifies whether page breaks are shown in a window.
	 * The value of the property is BOOL integer constant.
	 */
	getShowPageBreaks() {
	}
	/**
	 * Specifies whether page breaks are shown in a window.
	 * The value of the property is BOOL integer constant.
	 */
	setShowPageBreaks(value) {
	}

	/**
	 * Specifies whether guides are shown in the drawing window.
	 * The value of the property is BOOL integer constant.
	 */
	getShowGuides() {
	}
	/**
	 * Specifies whether guides are shown in the drawing window.
	 * The value of the property is BOOL integer constant.
	 */
	setShowGuides(value) {
	}

	/**
	 * Specifies whether connection points are shown in a window.
	 * The value of the property is BOOL integer constant.
	 */
	getShowConnectionPoints() {
	}
	/**
	 * Specifies whether connection points are shown in a window.
	 * The value of the property is BOOL integer constant.
	 */
	setShowConnectionPoints(value) {
	}

	/**
	 * Specifies the objects that shapes glue to when glue is enabled in the document.
	 * The value of the property is GlueSettingsValue integer constant.
	 */
	getGlueSettings() {
	}
	/**
	 * Specifies the objects that shapes glue to when glue is enabled in the document.
	 * The value of the property is GlueSettingsValue integer constant.
	 */
	setGlueSettings(value) {
	}

	/**
	 * Specifies the objects that shapes snap to when snap is active in the window. The value may be a sum of the values in the following table.
	 * The value of the property is SnapSettingsValue integer constant.
	 */
	getSnapSettings() {
	}
	/**
	 * Specifies the objects that shapes snap to when snap is active in the window. The value may be a sum of the values in the following table.
	 * The value of the property is SnapSettingsValue integer constant.
	 */
	setSnapSettings(value) {
	}

	/**
	 * Specifies whether a specific snap extension setting is enabled or disabled for the active window. The value can be a sum of the values in the following table.
	 * The value of the property is SnapExtensionsValue integer constant.
	 */
	getSnapExtensions() {
	}
	/**
	 * Specifies whether a specific snap extension setting is enabled or disabled for the active window. The value can be a sum of the values in the following table.
	 * The value of the property is SnapExtensionsValue integer constant.
	 */
	setSnapExtensions(value) {
	}

	/**
	 * Contains a collection of SnapAngle elements.
	 */
	getSnapAngles() {
	}

	/**
	 * Specifies whether the dynamic grid feature is enabled for a document or window.
	 * The value of the property is BOOL integer constant.
	 */
	getDynamicGridEnabled() {
	}
	/**
	 * Specifies whether the dynamic grid feature is enabled for a document or window.
	 * The value of the property is BOOL integer constant.
	 */
	setDynamicGridEnabled(value) {
	}

	/**
	 * Specifies the width of the page tab control of a drawing window (as a fraction of the total width of the drawing window).
	 */
	getTabSplitterPos() {
	}
	/**
	 * Specifies the width of the page tab control of a drawing window (as a fraction of the total width of the drawing window).
	 */
	setTabSplitterPos(value) {
	}

	/**
	 * The unique ID of the element within its parent element.
	 */
	getID() {
	}
	/**
	 * The unique ID of the element within its parent element.
	 */
	setID(value) {
	}

	/**
	 * An enumerated value that may be one of the following: Drawing, Sheet, Stencil, or Icon.A Window element of WindowType='Stencil' must appear after its parent drawing window (WindowType='Drawing') and before any other drawing window elements.
	 * The value of the property is WindowTypeValue integer constant.
	 */
	getWindowType() {
	}
	/**
	 * An enumerated value that may be one of the following: Drawing, Sheet, Stencil, or Icon.A Window element of WindowType='Stencil' must appear after its parent drawing window (WindowType='Drawing') and before any other drawing window elements.
	 * The value of the property is WindowTypeValue integer constant.
	 */
	setWindowType(value) {
	}

	/**
	 * This attribute can be a sum of the following values.
	 * The value of the property is WindowStateValue integer constant.
	 */
	getWindowState() {
	}
	/**
	 * This attribute can be a sum of the following values.
	 * The value of the property is WindowStateValue integer constant.
	 */
	setWindowState(value) {
	}

	/**
	 * File path of the document displayed in this window. This attribute is relevant for windows whose WindowType is specified as Stencil.
	 */
	getDocument() {
	}
	/**
	 * File path of the document displayed in this window. This attribute is relevant for windows whose WindowType is specified as Stencil.
	 */
	setDocument(value) {
	}

	/**
	 * Left coordinate of the window rectangle.
	 */
	getWindowLeft() {
	}
	/**
	 * Left coordinate of the window rectangle.
	 */
	setWindowLeft(value) {
	}

	/**
	 * Top coordinate of the window rectangle.
	 */
	getWindowTop() {
	}
	/**
	 * Top coordinate of the window rectangle.
	 */
	setWindowTop(value) {
	}

	/**
	 * Width of the window rectangle.
	 */
	getWindowWidth() {
	}
	/**
	 * Width of the window rectangle.
	 */
	setWindowWidth(value) {
	}

	/**
	 * Height of the window rectangle.
	 */
	getWindowHeight() {
	}
	/**
	 * Height of the window rectangle.
	 */
	setWindowHeight(value) {
	}

	/**
	 * Master ID if this window is displaying a master.
	 */
	getMaster() {
	}
	/**
	 * Master ID if this window is displaying a master.
	 */
	setMaster(value) {
	}

	/**
	 * May be one of the following values: Document, Page, or Master. Only relevant when WindowType is specified as Drawing or Sheet.
	 * The value of the property is ContainerTypeValue integer constant.
	 */
	getContainerType() {
	}
	/**
	 * May be one of the following values: Document, Page, or Master. Only relevant when WindowType is specified as Drawing or Sheet.
	 * The value of the property is ContainerTypeValue integer constant.
	 */
	setContainerType(value) {
	}

	/**
	 * ID of container: Page, Sheet, or Master. Only relevant and necessary if ContainerType is specified.
	 */
	getContainer() {
	}
	/**
	 * ID of container: Page, Sheet, or Master. Only relevant and necessary if ContainerType is specified.
	 */
	setContainer(value) {
	}

	/**
	 * ID of sheet in container. Relevant only when Container is specified as Sheet.
	 */
	getSheet() {
	}
	/**
	 * ID of sheet in container. Relevant only when Container is specified as Sheet.
	 */
	setSheet(value) {
	}

	/**
	 * Read-only flag if this stencil is not a document stencil.
	 * The value of the property is BOOL integer constant.
	 */
	getReadOnly() {
	}
	/**
	 * Read-only flag if this stencil is not a document stencil.
	 * The value of the property is BOOL integer constant.
	 */
	setReadOnly(value) {
	}

	/**
	 * ID of window in which this stencil window is contained. Relevant only when WindowType is specified as Stencil.
	 */
	getParentWindow() {
	}
	/**
	 * ID of window in which this stencil window is contained. Relevant only when WindowType is specified as Stencil.
	 */
	setParentWindow(value) {
	}

	/**
	 * Page ID if this window is displaying a page. Relevant only when WindowType is specified as Drawing and ContainerType is specified as Page.
	 */
	getPage() {
	}
	/**
	 * Page ID if this window is displaying a page. Relevant only when WindowType is specified as Drawing and ContainerType is specified as Page.
	 */
	setPage(value) {
	}

	/**
	 * Optional double.
	 */
	getViewScale() {
	}
	/**
	 * Optional double.
	 */
	setViewScale(value) {
	}

	/**
	 * Optional double.
	 */
	getViewCenterX() {
	}
	/**
	 * Optional double.
	 */
	setViewCenterX(value) {
	}

	/**
	 * Optional double.
	 */
	getViewCenterY() {
	}
	/**
	 * Optional double.
	 */
	setViewCenterY(value) {
	}

}

/**
 * Window collection.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("TextBoxes.vsdx");
 * // initialize window object
 * window = new aspose.diagram.Window();
 * // set window state
 * window.setWindowState(aspose.diagram.WindowStateValue.MAXIMIZED);
 * // set window height
 * window.setWindowHeight(500);
 * // set window width
 * window.setWindowWidth(500);
 * // set window type
 * window.setWindowType(aspose.diagram.WindowTypeValue.STENCIL);
 * // add window object
 * diagram.getWindows().add(window);
 * diagram.save("out-AddWindowElementInVisio.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class WindowCollection {
	/**
	 * Optional int.
	 */
	getClientWidth() {
	}
	/**
	 * Optional int.
	 */
	setClientWidth(value) {
	}

	/**
	 * Optional int.
	 */
	getClientHeight() {
	}
	/**
	 * Optional int.
	 */
	setClientHeight(value) {
	}

	/**
	 * Gets the number of elements actually contained in the collection.
	 */
	getCount() {
	}

	/**
	 * Gets the element at the specified index.
	 * @param {Number} index
	 * @return {Window}
	 */
	get(index) {
	}

	/**
	 * Add the window in the collection.
	 * @param {Window} window
	 * @return {Number}
	 */
	add(window) {
	}

	/**
	 * Remove the window from the collection.
	 * @param {Window} window
	 */
	remove(window) {
	}

	/**
	 * Supports a simple iteration over a nongeneric collection.
	 * @return {Iterator}
	 */
	iterator() {
	}

	/**
	 * Is exist item in the collection.
	 * @param {Number} index - index of element.
	 * @return {boolean}
	 */
	isExist(index) {
	}

	/**
	 * Removes all elements from collection.
	 */
	clear() {
	}

}

/**
 * Allows to specify additional options when rendering diagram pages to XAML.
 */
class XAMLSaveOptions {
	/**
	 * Initializes a new instance of this class that can be used to save a document in the SaveFileFormat format.
	 */
	constructor() {
	}

	/**
	 * Gets or sets the number of pages to render in XAML.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	getPageCount() {
	}
	/**
	 * Gets or sets the number of pages to render in XAML.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	setPageCount(value) {
	}

	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	getPageIndex() {
	}
	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	setPageIndex(value) {
	}

	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	getSaveForegroundPagesOnly() {
	}
	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	setSaveForegroundPagesOnly(value) {
	}

	/**
	 * Gets or sets the IStreamProvider for exporting objects.
	 */
	getStreamProvider() {
	}
	/**
	 * Gets or sets the IStreamProvider for exporting objects.
	 */
	setStreamProvider(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Contains elements that control line attributes for a shape, such as pattern, weight, and color. These elements determine whether the line ends are formatted (for example, with an arrowhead), the size of line end formats, radius of the rounding circle applied to the line, and line cap style (round or square).
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("AddingNewShape.vsdx");
 * // get page by name
 * page = diagram.getPages().getPage("Page-1");
 * // get shape by id
 * shape = page.getShapes().getShape(796);
 * // alter the size of Shape
 * shape.setWidth(2 * shape.getXForm().getWidth().getValue());
 * shape.setHeight(2 * shape.getXForm().getHeight().getValue());
 * diagram.save("out-ChangeShapeSize.vsdx", aspose.diagram.SaveFileFormat.VSDX);
 * @hideconstructor
 */
class XForm {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Specifies the pin position of the shape
	 * The value of the property is PinPosValue integer constant.
	 */
	getPinPos() {
	}
	/**
	 * Specifies the pin position of the shape
	 * The value of the property is PinPosValue integer constant.
	 */
	setPinPos(value) {
	}

	/**
	 * Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the origin of its parent.
	 */
	getPinX() {
	}
	/**
	 * Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the origin of its parent.
	 */
	setPinX(value) {
	}

	/**
	 * Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the origin of its parent.
	 */
	getPinY() {
	}
	/**
	 * Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the origin of its parent.
	 */
	setPinY(value) {
	}

	/**
	 * Contains the width of the associated shape in drawing units.
	 */
	getWidth() {
	}
	/**
	 * Contains the width of the associated shape in drawing units.
	 */
	setWidth(value) {
	}

	/**
	 * Specifies the height of the shape in drawing units.
	 */
	getHeight() {
	}
	/**
	 * Specifies the height of the shape in drawing units.
	 */
	setHeight(value) {
	}

	/**
	 * Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the origin of the shape. The default formula for determining LocPinX is: F='Width* 0.5'.
	 */
	getLocPinX() {
	}
	/**
	 * Specifies the x-coordinate of the shape's pin (center of rotation) in relation to the origin of the shape. The default formula for determining LocPinX is: F='Width* 0.5'.
	 */
	setLocPinX(value) {
	}

	/**
	 * Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the origin of the shape. The default formula for determining LocPinY is: F='Height * 0.5'.
	 */
	getLocPinY() {
	}
	/**
	 * Specifies the y-coordinate of the shape's pin (center of rotation) in relation to the origin of the shape. The default formula for determining LocPinY is: F='Height * 0.5'.
	 */
	setLocPinY(value) {
	}

	/**
	 * Represents the shape's current angle of rotation in relation to its parent.
	 */
	getAngle() {
	}
	/**
	 * Represents the shape's current angle of rotation in relation to its parent.
	 */
	setAngle(value) {
	}

	/**
	 * Indicates whether the shape has been flipped horizontally
	 */
	getFlipX() {
	}
	/**
	 * Indicates whether the shape has been flipped horizontally
	 */
	setFlipX(value) {
	}

	/**
	 * Indicates whether the shape has been flipped vertically.
	 */
	getFlipY() {
	}
	/**
	 * Indicates whether the shape has been flipped vertically.
	 */
	setFlipY(value) {
	}

	/**
	 * Specifies the current resize behavior setting for the shape when contained in a group.
	 */
	getResizeMode() {
	}
	/**
	 * Specifies the current resize behavior setting for the shape when contained in a group.
	 */
	setResizeMode(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * Contains x- and y-coordinates of the begin point and end point of a 1-D shape. This element appears for 1-D shapes only.
 * @hideconstructor
 */
class XForm1D {
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	getDel() {
	}
	/**
	 * A flag indicating whether the element has been deleted locally. A value of 1 indicates that the element was deleted locally.
	 * The value of the property is BOOL integer constant.
	 */
	setDel(value) {
	}

	/**
	 * Represents the x-coordinate of the begin point of the 1-D shape, in relation to the origin of its parent.
	 */
	getBeginX() {
	}
	/**
	 * Represents the x-coordinate of the begin point of the 1-D shape, in relation to the origin of its parent.
	 */
	setBeginX(value) {
	}

	/**
	 * Represents the y-coordinate of the begin point of the 1-D shape, in relation to the origin of its parent.
	 */
	getBeginY() {
	}
	/**
	 * Represents the y-coordinate of the begin point of the 1-D shape, in relation to the origin of its parent.
	 */
	setBeginY(value) {
	}

	/**
	 * Represents the x-coordinate of the end point of a 1-D shape in relation to the origin of its parent.
	 */
	getEndX() {
	}
	/**
	 * Represents the x-coordinate of the end point of a 1-D shape in relation to the origin of its parent.
	 */
	setEndX(value) {
	}

	/**
	 * Represents the y-coordinate of the end point of a 1-D shape in relation to the origin of its parent.
	 */
	getEndY() {
	}
	/**
	 * Represents the y-coordinate of the end point of a 1-D shape in relation to the origin of its parent.
	 */
	setEndY(value) {
	}

	/**
	 * Creates deep copy of this instance.
	 * @return {Object}
	 */
	deepClone() {
	}

}

/**
 * The x-offset of the smart tag button relative to the point defined by the X and Y elements.
 */
class XJustify {
	/**
	 * Constructor.
	 * @param {Number} value - XJustifyValue
	 */
	constructor(value) {
	}

	/**
	 * The x-offset of the smart tag button relative to the point defined by the X and Y elements.
	 * The value of the property is XJustifyValue integer constant.
	 */
	getValue() {
	}
	/**
	 * The x-offset of the smart tag button relative to the point defined by the X and Y elements.
	 * The value of the property is XJustifyValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Allows to specify additional options when rendering diagram pages to XPS.
 * @example
 * var aspose = aspose || {};
 * aspose.diagram = require("aspose.diagram");
 * diagram = new aspose.diagram.Diagram("Pages.vsdx");
 * // get a particular page
 * page = diagram.getPages().getPage("Flow 2");
 * // set Visio page visiblity
 * page.getPageSheet().getPageProps().getUIVisibility().setValue(aspose.diagram.BOOL.TRUE);
 * // initialize XPS save options
 * options = new aspose.diagram.XPSSaveOptions();
 * // set export option of hidden Visio pages
 * options.setExportHiddenPage(false);
 * diagram.save("out-ExportOfHiddenVisioPagesToXPS.xps", options);
 */
class XPSSaveOptions {
	/**
	 * Initializes a new instance of this class that can be used to save a document in the SaveFileFormat format.
	 */
	constructor() {
	}

	/**
	 * Gets or sets the number of pages to render in XPS.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	getPageCount() {
	}
	/**
	 * Gets or sets the number of pages to render in XPS.
	 * Default is MaxValue which means all pages of the diagram will be rendered.
	 */
	setPageCount(value) {
	}

	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	getPageIndex() {
	}
	/**
	 * Gets or sets the 0-based index of the first page to render. Default is 0.
	 */
	setPageIndex(value) {
	}

	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	getSaveFormat() {
	}
	/**
	 * Specifies the format in which the rendered diagram pages will be saved if this save options object is used.
	 * Can be SaveFileFormat only.
	 * The value of the property is SaveFileFormat integer constant.
	 */
	setSaveFormat(value) {
	}

	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	getSaveForegroundPagesOnly() {
	}
	/**
	 * Specifies whether all pages will be saved in image or only foreground.
	 * If true - rendered only foreground pages(with background if present).
	 * If false - rendered foreground pages(with background if present) after that empty background pages.
	 * Can return true only when PageCount > 1.
	 * The default value is false.
	 */
	setSaveForegroundPagesOnly(value) {
	}

	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	getExportHiddenPage() {
	}
	/**
	 * Defines whether need exporting the hidden page or not.
	 * Default value is true.
	 */
	setExportHiddenPage(value) {
	}

	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	getDefaultFont() {
	}
	/**
	 * When characters in the diagram are unicode and not be set with correct font value or the font is not installed locally,
	 * they may appear as block in pdf, image or XPS.
	 * Set the DefaultFont such as MingLiu or MS Gothic to show these characters.
	 */
	setDefaultFont(value) {
	}

	/**
	 * Gets or sets warning callback.
	 */
	getWarningCallback() {
	}
	/**
	 * Gets or sets warning callback.
	 */
	setWarningCallback(value) {
	}

}

/**
 * Specifies the y-offset of the smart tag button relative to the point defined by the X and Y elements.
 */
class YJustify {
	/**
	 * Constructor.
	 * @param {Number} value - YJustifyValue
	 */
	constructor(value) {
	}

	/**
	 * Specifies the y-offset of the smart tag button relative to the point defined by the X and Y elements.
	 * The value of the property is YJustifyValue integer constant.
	 */
	getValue() {
	}
	/**
	 * Specifies the y-offset of the smart tag button relative to the point defined by the X and Y elements.
	 * The value of the property is YJustifyValue integer constant.
	 */
	setValue(value) {
	}

	/**
	 * Specifies attributes of an element.
	 */
	getUfe() {
	}

	/**
	 * Are objects equal.
	 * @param {Object} value
	 * @return {boolean}
	 */
	equals(value) {
	}

	/**
	 * Serves as a hash function for a particular type.
	 * @return {Number}
	 */
	hashCode() {
	}

}

/**
 * Utility class containing constants.
 * Represents the persistence method to persist an ActiveX control.
 * @enum {number}
 */
const ActiveXPersistenceType = {
	/**
	 * The data is stored as xml data.
	 */
	PROPERTY_BAG,
	/**
	 * The data is stored as a storage binary data.
	 */
	STORAGE,
	/**
	 * The data is stored as a stream binary data.
	 */
	STREAM,
	/**
	 * The data is stored as a streaminit binary data.
	 */
	STREAM_INIT,

}

/**
 * Utility class containing constants.
 * Specifies the tab alignment.
 * @enum {number}
 */
const AlignmentValue = {
	/**
	 * Left.
	 */
	LEFT,
	/**
	 * Center.
	 */
	CENTER,
	/**
	 * Right.
	 */
	RIGHT,
	/**
	 * Decimal.
	 */
	DECIMAL,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Optional int. Specifies whether the master's text in the stencil window is aligned left, right, or center.
 * @enum {number}
 */
const AlignNameValue = {
	/**
	 * Align text left.
	 */
	ALIGN_TEXT_LEFT,
	/**
	 * Align text center.
	 */
	ALIGN_TEXT_CENTER,
	/**
	 * Align text right.
	 */
	ALIGN_TEXT_RIGHT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the size of the arrowhead of the line.
 * @enum {number}
 */
const ArrowSizeValue = {
	/**
	 * VerySmall.
	 */
	VERY_SMALL,
	/**
	 * Small.
	 */
	SMALL,
	/**
	 * Medium.
	 */
	MEDIUM,
	/**
	 * Large.
	 */
	LARGE,
	/**
	 * ExtraLarge.
	 */
	EXTRA_LARGE,
	/**
	 * Jumbo.
	 */
	JUMBO,
	/**
	 * Colossal.
	 */
	COLOSSAL,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents a preset light right that can be applied to a shape
 * @enum {number}
 */
const BevelLightingTypeValue = {
	/**
	 * Balanced
	 */
	BALANCED,
	/**
	 * Bright room
	 */
	BRIGHT_ROOM,
	/**
	 * Chilly
	 */
	CHILLY,
	/**
	 * Contrasting
	 */
	CONTRASTING,
	/**
	 * Flat
	 */
	FLAT,
	/**
	 * Flood
	 */
	FLOOD,
	/**
	 * Freezing
	 */
	FREEZING,
	/**
	 * Glow
	 */
	GLOW,
	/**
	 * Harsh
	 */
	HARSH,
	/**
	 * LegacyFlat1
	 */
	LEGACY_FLAT_1,
	/**
	 * LegacyFlat2
	 */
	LEGACY_FLAT_2,
	/**
	 * LegacyFlat3
	 */
	LEGACY_FLAT_3,
	/**
	 * LegacyFlat4
	 */
	LEGACY_FLAT_4,
	/**
	 * LegacyHarsh1
	 */
	LEGACY_HARSH_1,
	/**
	 * LegacyHarsh2
	 */
	LEGACY_HARSH_2,
	/**
	 * LegacyHarsh3
	 */
	LEGACY_HARSH_3,
	/**
	 * LegacyHarsh4
	 */
	LEGACY_HARSH_4,
	/**
	 * LegacyNormal1
	 */
	LEGACY_NORMAL_1,
	/**
	 * LegacyNormal2
	 */
	LEGACY_NORMAL_2,
	/**
	 * LegacyNormal3
	 */
	LEGACY_NORMAL_3,
	/**
	 * LegacyNormal4
	 */
	LEGACY_NORMAL_4,
	/**
	 * Morning
	 */
	MORNING,
	/**
	 * Soft
	 */
	SOFT,
	/**
	 * Sunrise
	 */
	SUNRISE,
	/**
	 * Sunset
	 */
	SUNSET,
	/**
	 * Three point
	 */
	THREE_POINT,
	/**
	 * Two point
	 */
	TWO_POINT,
	/**
	 * No light rig.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Describes surface appearance of a shape.
 * @enum {number}
 */
const BevelMaterialTypeValue = {
	/**
	 * Clear
	 */
	CLEAR,
	/**
	 * Dark edge
	 */
	DARK_EDGE,
	/**
	 * Flat
	 */
	FLAT,
	/**
	 * Legacy matte
	 */
	LEGACY_MATTE,
	/**
	 * Legacy metal
	 */
	LEGACY_METAL,
	/**
	 * Legacy plastic
	 */
	LEGACY_PLASTIC,
	/**
	 * Legacy wireframe
	 */
	LEGACY_WIREFRAME,
	/**
	 * Matte
	 */
	MATTE,
	/**
	 * Metal
	 */
	METAL,
	/**
	 * Plastic
	 */
	PLASTIC,
	/**
	 * Powder
	 */
	POWDER,
	/**
	 * Soft edge
	 */
	SOFT_EDGE,
	/**
	 * Soft metal
	 */
	SOFT_METAL,
	/**
	 * Translucent powder
	 */
	TRANSLUCENT_POWDER,
	/**
	 * Warm matte
	 */
	WARM_MATTE,
	/**
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents a preset for a type of bevel which can be applied to a shape in 3D.
 * @enum {number}
 */
const BevelPresetType = {
	/**
	 * No bevel
	 */
	NONE,
	/**
	 * Angle
	 */
	ANGLE,
	/**
	 * Art deco
	 */
	ART_DECO,
	/**
	 * Circle
	 */
	CIRCLE,
	/**
	 * Convex
	 */
	CONVEX,
	/**
	 * Cool slant
	 */
	COOL_SLANT,
	/**
	 * Cross
	 */
	CROSS,
	/**
	 * Divot
	 */
	DIVOT,
	/**
	 * Hard edge
	 */
	HARD_EDGE,
	/**
	 * Relaxed inset
	 */
	RELAXED_INSET,
	/**
	 * Riblet
	 */
	RIBLET,
	/**
	 * Slope
	 */
	SLOPE,
	/**
	 * Soft round
	 */
	SOFT_ROUND,

}

/**
 * Utility class containing constants.
 * Represents a preset for a type of bevel which can be applied to a shape in 3D.
 * @enum {number}
 */
const BevelTypeValue = {
	/**
	 * No bevel
	 */
	NONE,
	/**
	 * Angle
	 */
	ANGLE,
	/**
	 * Art deco
	 */
	ART_DECO,
	/**
	 * Circle
	 */
	CIRCLE,
	/**
	 * Convex
	 */
	CONVEX,
	/**
	 * Cool slant
	 */
	COOL_SLANT,
	/**
	 * Cross
	 */
	CROSS,
	/**
	 * Divot
	 */
	DIVOT,
	/**
	 * Hard edge
	 */
	HARD_EDGE,
	/**
	 * Relaxed inset
	 */
	RELAXED_INSET,
	/**
	 * Riblet
	 */
	RIBLET,
	/**
	 * Slope
	 */
	SLOPE,
	/**
	 * Soft round
	 */
	SOFT_ROUND,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Boolean.
 * @enum {number}
 */
const BOOL = {
	/**
	 * Undefined state.
	 */
	UNDEFINED,
	/**
	 * False.
	 */
	FALSE,
	/**
	 * True.
	 */
	TRUE,

}

/**
 * Utility class containing constants.
 * Determines the bullet style.
 * @enum {number}
 */
const BulletValue = {
	/**
	 * None.
	 */
	NONE,
	/**
	 * Point.
	 */
	STYLE_1,
	/**
	 * Rhomb.
	 */
	STYLE_2,
	/**
	 * Square.
	 */
	STYLE_3,
	/**
	 * Big square.
	 */
	STYLE_4,
	/**
	 * Rhombs.
	 */
	STYLE_5,
	/**
	 * Arrow.
	 */
	STYLE_6,
	/**
	 * Tick.
	 */
	STYLE_7,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the calendar that is used for custom properties, text fields, and element formulas.
 * @enum {number}
 */
const CalendarValue = {
	/**
	 * Western.
	 */
	WESTERN,
	/**
	 * Arabic hijiri.
	 */
	ARABIC_HIJIRI,
	/**
	 * Hebrew lunar.
	 */
	HEBREW_LUNAR,
	/**
	 * Taiwan calendar.
	 */
	TAIWAN_CALENDAR,
	/**
	 * Japanese Emperor Reign.
	 */
	JAPANESE_EMPEROR_REIGN,
	/**
	 * Thai Buddhist.
	 */
	THAI_BUDDHIST,
	/**
	 * Korean Danki.
	 */
	KOREAN_DANKI,
	/**
	 * Saka Era.
	 */
	SAKA_ERA,
	/**
	 * English Transliterated.
	 */
	ENGLISH_TRANSLITERATED,
	/**
	 * French Transliterated.
	 */
	FRENCH_TRANSLITERATED,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the case of a shape's text.
 * All capital (uppercase) letters (1) and initial capital letters (2) do not change the appearance of text that was entered in all capital letters. The text must be entered in lowercase letters for these options to show an effect.
 * @enum {number}
 */
const CaseValue = {
	/**
	 * Normal case.
	 */
	NORMAL_CASE,
	/**
	 * All capital (uppercase) letters.
	 */
	ALL_CAPITAL_LETTERS,
	/**
	 * Initial capital letters only.
	 */
	INITIAL_CAPITAL_LETTERS_ONLY,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents the check value type of the check box.
 * @enum {number}
 */
const CheckValueType = {
	/**
	 * UnChecked
	 */
	UN_CHECKED,
	/**
	 * Checked
	 */
	CHECKED,
	/**
	 * Mixed
	 */
	MIXED,

}

/**
 * Utility class containing constants.
 * Specifies the quality level to use during compositing.
 * @enum {number}
 */
const CompositingQuality = {
	/**
	 * Invalid quality.
	 */
	INVALID,
	/**
	 * Default quality.
	 */
	DEFAULT,
	/**
	 * High speed, low quality.
	 */
	HIGH_SPEED,
	/**
	 * High quality, low speed compositing.
	 */
	HIGH_QUALITY,
	/**
	 * Gamma correction is used.
	 */
	GAMMA_CORRECTED,
	/**
	 * Assume linear values.
	 */
	ASSUME_LINEAR,

}

/**
 * Utility class containing constants.
 * Represents style of drawing lines.
 * @enum {number}
 */
const CompoundTypeValue = {
	/**
	 * Single line (of width lineWidth)
	 */
	SINGLE,
	/**
	 * Three lines, thin, thick, thin
	 */
	THICK_BETWEEN_THIN,
	/**
	 * Double lines, one thin, one thick
	 */
	THIN_THICK,
	/**
	 * Double lines, one thick, one thin
	 */
	THICK_THIN,
	/**
	 * Double lines of equal width
	 */
	THIN_THIN,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * This attribute is only meaningful if the foreign data is a raster-based foreign object, such as a DIB, JPG, PNG, TIFF, or GIF file. The value indicates the type of compression applied to the file.
 * @enum {number}
 */
const CompressionType = {
	/**
	 * No compression (the default).
	 */
	NO,
	/**
	 * JPEG compression.
	 */
	JPEG,
	/**
	 * GIF compression.
	 */
	GIF,
	/**
	 * TIFF compression.
	 */
	TIFF,
	/**
	 * PNG compression.
	 */
	PNG,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines when a connector reroutes.
 * @enum {number}
 */
const ConFixedCodeValue = {
	/**
	 * Reroute freely.
	 */
	REROUTE_FREELY,
	/**
	 * Reroute as needed.
	 */
	REROUTE_NEEDED,
	/**
	 * Never reroute.
	 */
	NEVER_REROUTE,
	/**
	 * Reroute on crossover.
	 */
	REROUTE_ON_CROSSOVER,
	/**
	 * Reserved for internal use only.
	 */
	RESERVED_1,
	/**
	 * Reserved for internal use only.
	 */
	RESERVED_2,
	/**
	 * Reserved for internal use only.
	 */
	RESERVED_3,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines whether a connector jumps when two connectors cross.
 * @enum {number}
 */
const ConLineJumpCodeValue = {
	/**
	 * Page default.
	 */
	PAGE_DEFAULT,
	/**
	 * Never.
	 */
	NEVER,
	/**
	 * Always
	 */
	ALWAYS,
	/**
	 * Other connector jumps.
	 */
	OTHER_CONNECTOR_JUMPS,
	/**
	 * Neither connector jumps.
	 */
	NEITHER_CONNECTOR_JUMPS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the line jump direction for line jumps occurring on a horizontal segment of a dynamic connector.
 * @enum {number}
 */
const ConLineJumpDirXValue = {
	/**
	 * Page default.
	 */
	PAGE_DEFAULT,
	/**
	 * Up.
	 */
	UP,
	/**
	 * Down.
	 */
	DOWN,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the line jump direction for line jumps occurring on a vertical segment of a dynamic connector.
 * @enum {number}
 */
const ConLineJumpDirYValue = {
	/**
	 * Page default.
	 */
	PAGE_DEFAULT,
	/**
	 * Left.
	 */
	LEFT,
	/**
	 * Right.
	 */
	RIGHT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the line jump style for line jumps on a dynamic connector.
 * @enum {number}
 */
const ConLineJumpStyleValue = {
	/**
	 * Page default.
	 */
	PAGE_DEFAULT,
	/**
	 * Arc.
	 */
	ARC,
	/**
	 * Gap.
	 */
	GAP,
	/**
	 * Square.
	 */
	SQUARE,
	/**
	 * Sides2.
	 */
	SIDES_2,
	/**
	 * Sides3.
	 */
	SIDES_3,
	/**
	 * Sides4.
	 */
	SIDES_4,
	/**
	 * Sides5.
	 */
	SIDES_5,
	/**
	 * Sides6.
	 */
	SIDES_6,
	/**
	 * Sides7
	 */
	SIDES_7,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the appearance of a connector.
 * @enum {number}
 */
const ConLineRouteExtValue = {
	/**
	 * Page default.
	 */
	PAGE_DEFAULT,
	/**
	 * Straight.
	 */
	STRAIGHT,
	/**
	 * Curved.
	 */
	CURVED,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Filters the array of returned shape IDs by the directionality of the connectors.
 * @enum {number}
 */
const ConnectedShapesFlags = {
	/**
	 * Return IDs of shapes that are associated with both incoming and outgoing connections.
	 */
	CONNECTED_SHAPES_ALL_NODES,
	/**
	 * Return IDs of shapes that are associated with incoming connections.
	 */
	CONNECTED_SHAPES_INCOMING_NODES,
	/**
	 * Return IDs of shapes that are associated with outgoing connections.
	 */
	CONNECTED_SHAPES_OUTGOING_NODES,

}

/**
 * Utility class containing constants.
 * Specifies the location on the shape where connector will be connected.
 * @enum {number}
 */
const ConnectionPointPlace = {
	/**
	 * Top of the shape.
	 */
	TOP,
	/**
	 * Bottom of the shape.
	 */
	BOTTOM,
	/**
	 * Left of the shape.
	 */
	LEFT,
	/**
	 * Right of the shape.
	 */
	RIGHT,
	/**
	 * Center of the shape.
	 */
	CENTER,

}

/**
 * Utility class containing constants.
 * May be one of the following values: RightAngle, StraightLines, or CurvedLines. Only relevant when WindowType is specified as Drawing or Sheet.
 * @enum {number}
 */
const ConnectorsTypeValue = {
	/**
	 * RightAngle.
	 */
	RIGHT_ANGLE,
	/**
	 * StraightLines.
	 */
	STRAIGHT_LINES,
	/**
	 * CurvedLines.
	 */
	CURVED_LINES,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * May be one of the following values: Document, Page, or Master. Only relevant when WindowType is specified as Drawing or Sheet.
 * @enum {number}
 */
const ContainerTypeValue = {
	/**
	 * Document.
	 */
	DOCUMENT,
	/**
	 * Page.
	 */
	PAGE,
	/**
	 * Master.
	 */
	MASTER,
	/**
	 * Master.
	 */
	STYLE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies properties of the group or shape to use for the comparison. Possible values are shown in the following table.
 * @enum {number}
 */
const ContextTypeValue = {
	/**
	 * Shape text.
	 */
	SHAPE_TEXT,
	/**
	 * Shape-data-item (custom property) label.
	 */
	SHAPE_DATA_ITEM_CUSTOM_PROPERTY_LABEL,
	/**
	 * User cell local row name.
	 */
	USER_CELL_LOCAL_ROW_NAME,
	/**
	 * Geometry angle.
	 */
	GEOMETRY_ANGLE,
	/**
	 * Geometry width.
	 */
	GEOMETRY_WIDTH,
	/**
	 * Geometry height.
	 */
	GEOMETRY_HEIGHT,
	/**
	 * Shape ID.
	 */
	SHAPE_ID,
	/**
	 * Master name.
	 */
	MASTER_NAME,
	/**
	 * Shape local name.
	 */
	SHAPE_LOCAL_NAME,
	/**
	 * Shape type.
	 */
	SHAPE_TYPE,
	/**
	 * Data1.
	 */
	DATA_1,
	/**
	 * Data2.
	 */
	DATA_2,
	/**
	 * Data3.
	 */
	DATA_3,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents the border type of the ActiveX control.
 * @enum {number}
 */
const ControlBorderType = {
	/**
	 * No border.
	 */
	NONE,
	/**
	 * The single line.
	 */
	SINGLE,

}

/**
 * Utility class containing constants.
 * Represents the position of the Caption relative to the control.
 * @enum {number}
 */
const ControlCaptionAlignmentType = {
	/**
	 * The left of the control.
	 */
	LEFT,
	/**
	 * The right of the control.
	 */
	RIGHT,

}

/**
 * Utility class containing constants.
 * Represents the visual appearance of the list in a ListBox or ComboBox.
 * @enum {number}
 */
const ControlListStyle = {
	/**
	 * Displays a list in which the background of an item is highlighted when it is selected.
	 */
	PLAIN,
	/**
	 * Displays a list in which an option button or a checkbox next to each entry displays the selection state of that item.
	 */
	OPTION,

}

/**
 * Utility class containing constants.
 * Represents how a ListBox or ComboBox searches its list as the user types.
 * @enum {number}
 */
const ControlMatchEntryType = {
	/**
	 * The control searches for the next entry that starts with the character entered.
	 * Repeatedly typing the same letter cycles through all entries beginning with that letter.
	 */
	FIRST_LETTER,
	/**
	 * As each character is typed, the control searches for an entry matching all characters entered.
	 */
	COMPLETE,
	/**
	 * The list will not be searched when characters are typed.
	 */
	NONE,

}

/**
 * Utility class containing constants.
 * Represents the type of icon displayed as the mouse pointer for the control.
 * @enum {number}
 */
const ControlMousePointerType = {
	/**
	 * Standard pointer.
	 */
	DEFAULT,
	/**
	 * Arrow.
	 */
	ARROW,
	/**
	 * Cross-hair pointer.
	 */
	CROSS,
	/**
	 * I-beam.
	 */
	I_BEAM,
	/**
	 * Double arrow pointing northeast and southwest.
	 */
	SIZE_NESW,
	/**
	 * Double arrow pointing north and south.
	 */
	SIZE_NS,
	/**
	 * Double arrow pointing northwest and southeast.
	 */
	SIZE_NWSE,
	/**
	 * Double arrow pointing west and east.
	 */
	SIZE_WE,
	/**
	 * Up arrow.
	 */
	UP_ARROW,
	/**
	 * Hourglass.
	 */
	HOUR_GLASS,
	/**
	 * “Not” symbol (circle with a diagonal line) on top of the object being dragged.
	 */
	NO_DROP,
	/**
	 * Arrow with an hourglass.
	 */
	APP_STARTING,
	/**
	 * Arrow with a question mark.
	 */
	HELP,
	/**
	 * “Size-all” cursor (arrows pointing north, south, east, and west).
	 */
	SIZE_ALL,
	/**
	 * Uses the icon specified by the MouseIcon property.
	 */
	CUSTOM,

}

/**
 * Utility class containing constants.
 * Represents the alignment of the picture inside the Form or Image.
 * @enum {number}
 */
const ControlPictureAlignmentType = {
	/**
	 * The top left corner.
	 */
	TOP_LEFT,
	/**
	 * The top right corner.
	 */
	TOP_RIGHT,
	/**
	 * The center.
	 */
	CENTER,
	/**
	 * The bottom left corner.
	 */
	BOTTOM_LEFT,
	/**
	 * The bottom right corner.
	 */
	BOTTOM_RIGHT,

}

/**
 * Utility class containing constants.
 * Represents the location of the control's picture relative to its caption.
 * @enum {number}
 */
const ControlPicturePositionType = {
	/**
	 * The picture appears to the left of the caption.
	 * The caption is aligned with the top of the picture.
	 */
	LEFT_TOP,
	/**
	 * The picture appears to the left of the caption.
	 * The caption is centered relative to the picture.
	 */
	LEFT_CENTER,
	/**
	 * The picture appears to the left of the caption.
	 * The caption is aligned with the bottom of the picture.
	 */
	LEFT_BOTTOM,
	/**
	 * The picture appears to the right of the caption.
	 * The caption is aligned with the top of the picture.
	 */
	RIGHT_TOP,
	/**
	 * The picture appears to the right of the caption.
	 * The caption is centered relative to the picture.
	 */
	RIGHT_CENTER,
	/**
	 * The picture appears to the right of the caption.
	 * The caption is aligned with the bottom of the picture.
	 */
	RIGHT_BOTTOM,
	/**
	 * The picture appears above the caption.
	 * The caption is aligned with the left edge of the picture.
	 */
	ABOVE_LEFT,
	/**
	 * The picture appears above the caption.
	 * The caption is centered below the picture.
	 */
	ABOVE_CENTER,
	/**
	 * The picture appears above the caption.
	 * The caption is aligned with the right edge of the picture.
	 */
	ABOVE_RIGHT,
	/**
	 * The picture appears below the caption.
	 * The caption is aligned with the left edge of the picture.
	 */
	BELOW_LEFT,
	/**
	 * The picture appears below the caption.
	 * The caption is centered above the picture.
	 */
	BELOW_CENTER,
	/**
	 * The picture appears below the caption.
	 * The caption is aligned with the right edge of the picture.
	 */
	BELOW_RIGHT,
	/**
	 * The picture appears in the center of the control.
	 * The caption is centered horizontally and vertically on top of the picture.
	 */
	CENTER,

}

/**
 * Utility class containing constants.
 * Represents how to display the picture.
 * @enum {number}
 */
const ControlPictureSizeMode = {
	/**
	 * Crops any part of the picture that is larger than the control's boundaries.
	 */
	CLIP,
	/**
	 * Stretches the picture to fill the control's area.
	 * This setting distorts the picture in either the horizontal or vertical direction.
	 */
	STRETCH,
	/**
	 * Enlarges the picture, but does not distort the picture in either the horizontal or vertical direction.
	 */
	ZOOM,

}

/**
 * Utility class containing constants.
 * Represents the type of scroll bar.
 * @enum {number}
 */
const ControlScrollBarType = {
	/**
	 * Displays no scroll bars.
	 */
	NONE,
	/**
	 * Displays a horizontal scroll bar.
	 */
	HORIZONTAL,
	/**
	 * Displays a vertical scroll bar.
	 */
	BARS_VERTICAL,
	/**
	 * Displays both a horizontal and a vertical scroll bar.
	 */
	BARS_BOTH,

}

/**
 * Utility class containing constants.
 * Represents type of scroll orientation
 * @enum {number}
 */
const ControlScrollOrientation = {
	/**
	 * Control is rendered horizontally when the control's width is greater than its height.
	 * Control is rendered vertically otherwise.
	 */
	AUTO,
	/**
	 * Control is rendered vertically.
	 */
	VERTICAL,
	/**
	 * Control is rendered horizontally.
	 */
	HORIZONTAL,

}

/**
 * Utility class containing constants.
 * Represents the type of special effect.
 * @enum {number}
 */
const ControlSpecialEffectType = {
	/**
	 * Flat
	 */
	FLAT,
	/**
	 * Raised
	 */
	RAISED,
	/**
	 * Sunken
	 */
	SUNKEN,
	/**
	 * Etched
	 */
	ETCHED,
	/**
	 * Bump
	 */
	BUMP,

}

/**
 * Utility class containing constants.
 * Represents all type of ActiveX control.
 * @enum {number}
 */
const ControlType = {
	/**
	 * Button
	 */
	COMMAND_BUTTON,
	/**
	 * ComboBox
	 */
	COMBO_BOX,
	/**
	 * CheckBox
	 */
	CHECK_BOX,
	/**
	 * ListBox
	 */
	LIST_BOX,
	/**
	 * TextBox
	 */
	TEXT_BOX,
	/**
	 * Spinner
	 */
	SPIN_BUTTON,
	/**
	 * RadioButton
	 */
	RADIO_BUTTON,
	/**
	 * Label
	 */
	LABEL,
	/**
	 * Image
	 */
	IMAGE,
	/**
	 * ToggleButton
	 */
	TOGGLE_BUTTON,
	/**
	 * ScrollBar
	 */
	SCROLL_BAR,
	/**
	 * Unknown
	 */
	UNKNOWN,

}

/**
 * Utility class containing constants.
 * Specifies the type of behavior the x or y-coordinate of the control handle exhibits after the handle is moved.
 * @enum {number}
 */
const ConValue = {
	/**
	 * Proportional. The control handle can be moved, and it also moves in proportion with the shape when it is stretched.
	 */
	PROPORTIONAL,
	/**
	 * Proportional locked. The control handle moves in proportion with the shape, but the control handle itself cannot be moved.
	 */
	PROPORTIONAL_LOCKED,
	/**
	 * Offset from left edge. The control handle is offset a constant distance from the left side of the shape.
	 */
	OFFSET_FROM_LEFT_EDGE,
	/**
	 * Offset from center. The control handle is offset a constant distance from the center of the shape.
	 */
	OFFSET_FROM_CENTER,
	/**
	 * Offset from right edge. The control handle is offset a constant distance from the right side of the shape.
	 */
	OFFSET_FROM_RIGHT_EDGE,
	/**
	 * Proportional, hidden.Same as 0, but the control handle is not visible.
	 */
	PROPORTIONAL_HIDDEN,
	/**
	 * Proportional locked, hidden. Same as 1, but the control handle is not visible.
	 */
	PROPORTIONAL_LOCKED_HIDDEN,
	/**
	 * Offset from left edge, hidden. Same as 2, but the control handle is not visible.
	 */
	OFFSET_FROM_LEFT_EDGE_HIDDEN,
	/**
	 * Offset from center, hidden. Same as 3, but the control handle is not visible.
	 */
	OFFSET_FROM_CENTER_HIDDEN,
	/**
	 * Offset from right edge, hidden. Same as 4, but the control handle is not visible.
	 */
	OFFSET_FROM_RIGHT_EDGE_HIDDEN,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents Diagram country identifiers.
 * @enum {number}
 */
const CountryCode = {
	/**
	 */
	DEFAULT,
	/**
	 * United States
	 */
	USA,
	/**
	 * Canada
	 */
	CANADA,
	/**
	 * Latin America, except Brazil
	 */
	LATIN_AMERIC,
	/**
	 * Russia
	 */
	RUSSIA,
	/**
	 * Egypt
	 */
	EGYPT,
	/**
	 * Greece
	 */
	GREECE,
	/**
	 * Netherlands
	 */
	NETHERLANDS,
	/**
	 * Belgium
	 */
	BELGIUM,
	/**
	 * France
	 */
	FRANCE,
	/**
	 * Spain
	 */
	SPAIN,
	/**
	 * Hungary
	 */
	HUNGARY,
	/**
	 * Italy
	 */
	ITALY,
	/**
	 * Switzerland
	 */
	SWITZERLAND,
	/**
	 * Austria
	 */
	AUSTRIA,
	/**
	 * United Kingdom
	 */
	UNITED_KINGDOM,
	/**
	 * Denmark
	 */
	DENMARK,
	/**
	 * Sweden
	 */
	SWEDEN,
	/**
	 * Norway
	 */
	NORWAY,
	/**
	 * Poland
	 */
	POLAND,
	/**
	 * Germany
	 */
	GERMANY,
	/**
	 * Mexico
	 */
	MEXICO,
	/**
	 * Brazil
	 */
	BRAZIL,
	/**
	 * Australia
	 */
	AUSTRALIA,
	/**
	 * New Zealand
	 */
	NEW_ZEALAND,
	/**
	 * Thailand
	 */
	THAILAND,
	/**
	 * Japan
	 */
	JAPAN,
	/**
	 * SouthKorea
	 */
	SOUTH_KOREA,
	/**
	 * Viet Nam
	 */
	VIET_NAM,
	/**
	 * People's Republic of China
	 */
	CHINA,
	/**
	 * Turkey
	 */
	TURKEY,
	/**
	 * India
	 */
	INDIA,
	/**
	 * Algeria
	 */
	ALGERIA,
	/**
	 * Morocco
	 */
	MOROCCO,
	/**
	 * Libya
	 */
	LIBYA,
	/**
	 * Portugal
	 */
	PORTUGAL,
	/**
	 * Iceland
	 */
	ICELAND,
	/**
	 * Finland
	 */
	FINLAND,
	/**
	 * Czech Republic
	 */
	CZECH,
	/**
	 * Taiwan
	 */
	TAIWAN,
	/**
	 * Lebanon
	 */
	LEBANON,
	/**
	 * Jordan
	 */
	JORDAN,
	/**
	 * Syria
	 */
	SYRIA,
	/**
	 * Iraq
	 */
	IRAQ,
	/**
	 * Kuwait
	 */
	KUWAIT,
	/**
	 * Saudi Arabia
	 */
	SAUDI,
	/**
	 * United Arab Emirates
	 */
	UNITED_ARAB_EMIRATES,
	/**
	 * Israel
	 */
	ISRAEL,
	/**
	 * Qatar
	 */
	QATAR,
	/**
	 * Iran
	 */
	IRAN,

}

/**
 * Utility class containing constants.
 * Allows to configure options for the connections to the database.
 * @enum {number}
 */
const DataConnectionType = {
	/**
	 * Usage System.Data.SqlClient.SqlConnection.
	 */
	SQL,
	/**
	 * Usage System.Data.OleDb.OleDbConnection.
	 */
	QLEDB,
	/**
	 * Usage System.Data.Odbc.OdbcConnection.
	 */
	ODBC,
	/**
	 * Unknown type of connection.
	 */
	UNKNOWN,

}

/**
 * Utility class containing constants.
 * DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
 * @enum {number}
 */
const DisplayModeSmartTagDefValue = {
	/**
	 * Hides the group shape and text.
	 */
	MOUSE_IS_PAUSED,
	/**
	 * Displays the group shape behind member shapes.
	 */
	SHAPE_IS_SELECTED,
	/**
	 * Displays the group shape in front of member shapes.
	 */
	ALL_TIME,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * When it is contained in a Group element, the DisplayMode element specifies how a group shape and its members are displayed.
 * When it is contained in a SmartTagDef element, the DisplayMode element determines whether the smart tag appears when the user pauses the mouse over the tag, when the shape is selected, or all the time.
 * @enum {number}
 */
const DisplayModeValue = {
	/**
	 * Hides the group shape and text.
	 */
	HIDES_SHAPE_TEXT,
	/**
	 * Displays the group shape behind member shapes.
	 */
	DISPLAYS_SHAPE_BEHIND_MEMBER_SHAPES,
	/**
	 * Displays the group shape in front of member shapes.
	 */
	DISPLAYS_SHAPE_FRONT_MEMBER_SHAPES,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines whether the drawing page resizes automatically to fit the diagram.
 * @enum {number}
 */
const DrawingResizeTypeValue = {
	/**
	 * Whether the page resizes automatically depends on the value of the DrawingSizeType cell. If DrawingSizeType = 0 (the drawing page size is the same as the size of the printed page), the page resizes automatically. If the value of DrawingSizeType is anything other than zero (0), the page does not resize automatically.
	 */
	DEPENDS_ON_DRAWING_SIZE_TYPE,
	/**
	 * The drawing page resizes automatically.
	 */
	AUTOMATICALLY,
	/**
	 * The drawing page does not resize automatically.
	 */
	NOT_AUTOMATICALLY,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the type of drawing scale to use for a page.
 * @enum {number}
 */
const DrawingScaleTypeValue = {
	/**
	 * No scale.
	 */
	NO_SCALE,
	/**
	 * Architectural scale.
	 */
	ARCHITECTURAL_SCALE,
	/**
	 * Civil engineering scale.
	 */
	CIVIL_ENGINEERING_SCALE,
	/**
	 * Custom scale.
	 */
	CUSTOM_SCALE,
	/**
	 * Metric scale.
	 */
	METRIC_SCALE,
	/**
	 * Mechanical engineering scale.
	 */
	MECHANICAL_ENGINEERING_SCALE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the drawing size of a page.
 * @enum {number}
 */
const DrawingSizeTypeValue = {
	/**
	 * Same as printer.
	 */
	SAME_AS_PRINTER,
	/**
	 * Fit page to drawing contents.
	 */
	FIT_PAGE_DRAW_CONTENTS,
	/**
	 * Standard.
	 */
	STANDARD,
	/**
	 * Custom page size.
	 */
	CUSTOM_PAGE_SIZE,
	/**
	 * Custom scaled drawing size.
	 */
	CUSTOM_SCALED_DRAW_SIZE,
	/**
	 * Metric (ISO).
	 */
	METRIC_ISO,
	/**
	 * ANSI engineering.
	 */
	ANSI_ENGINEERING,
	/**
	 * ANSI architectural.
	 */
	ANSI_ARCHITECTURAL,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents the symbol displayed on the drop button.
 * @enum {number}
 */
const DropButtonStyle = {
	/**
	 * Displays a button with no symbol.
	 */
	PLAIN,
	/**
	 * Displays a button with a down arrow.
	 */
	ARROW,
	/**
	 * Displays a button with an ellipsis (...).
	 */
	ELLIPSIS,
	/**
	 * Displays a button with a horizontal line like an underscore character.
	 */
	REDUCE,

}

/**
 * Utility class containing constants.
 * Specifies the type of visual feedback provided to users when they drag a connector.
 * When the mouse button is released, the resulting connector shape is not affected by this setting. This element does not apply to routable connectors.
 * @enum {number}
 */
const DynFeedbackValue = {
	/**
	 * Remain straight (no legs).
	 */
	REMAIN_STRAIGHT,
	/**
	 * Show three legs when dragged.
	 */
	SHOW_THREE_LEGS,
	/**
	 * Show five legs when dragged.
	 */
	SHOW_FIVE_LEGS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Setting for rendering Emf metafile.
 * @enum {number}
 */
const EmfRenderSetting = {
	/**
	 * Only rendering Emf records.
	 */
	EMF_ONLY,
	/**
	 * Prefer rendering EmfPlus records.
	 */
	EMF_PLUS_PREFER,

}

/**
 * Utility class containing constants.
 * Enumerates spreadsheet file format types
 * @enum {number}
 */
const FileFormatType = {
	/**
	 * MS Visio VDX xml format.
	 */
	VDX,
	/**
	 * MS Visio VSD binary format.
	 */
	VSD,
	/**
	 * MS Visio VSX xml stencil format.
	 */
	VSX,
	/**
	 * MS Visio VSS binary stencil format.
	 */
	VSS,
	/**
	 * MS Visio VTX xml template format.
	 */
	VTX,
	/**
	 * MS Visio VST binary template format.
	 */
	VST,
	/**
	 * MS Visio VDW web drawing format.
	 */
	VDW,
	/**
	 * MS Visio 2013 VSDX file format.
	 */
	VSDX,
	/**
	 * MS Visio 2013 VSTX Template file format.
	 */
	VSTX,
	/**
	 * MS Visio 2013 VSSX file format.
	 */
	VSSX,
	/**
	 * Represents a CSV file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	CSV,
	/**
	 * Represents an xlsx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	XLSX,
	/**
	 * Represents an xlsm file which enable macros.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	XLSM,
	/**
	 * Represents a template xltx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	XLTX,
	/**
	 * Represents a macro-enabled template xltm file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	XLTM,
	/**
	 * Represents a addinMacro-enabled template xltm file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	XLAM,
	/**
	 * Represents a tab delimited text file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	TAB_DELIMITED,
	/**
	 * Represents a html file.
	 */
	HTML,
	/**
	 * Represents a ods file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	ODS,
	/**
	 * Represents an Excel97-2003 xls file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	EXCEL_97_TO_2003,
	/**
	 * Represents an Excel 2003 xml file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	EXCEL_2003_XML,
	/**
	 * Represents an xlsb file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	XLSB,
	/**
	 * Represents unrecognized format, cannot be loaded.
	 */
	UNKNOWN,
	/**
	 * Represents a Pdf file.
	 */
	PDF,
	/**
	 * Represents an XPS file.
	 */
	XPS,
	/**
	 * Represents a TIFF file.
	 */
	TIFF,
	/**
	 * Represents a svg file.
	 */
	SVG,
	/**
	 * Represents a docx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	DOCX,
	/**
	 * Data Interchange Format.
	 */
	DIF,
	/**
	 * Represents a doc file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	DOC,
	/**
	 * Represents a ppt file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	PPT,
	/**
	 * Represents a email file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	MAPI_MESSAGE,
	/**
	 * Represents the MS Equation 3.0 object.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	MS_EQUATION,
	/**
	 * Represents the embedded native object.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	OLE_10_NATIVE,
	/**
	 * Represents a docm file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	DOCM,
	/**
	 * Represents a dotx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	DOTX,
	/**
	 * Represents a dotm file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	DOTM,
	/**
	 * Represents a pptm file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	PPTM,
	/**
	 * Represents a Potx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	POTX,
	/**
	 * Represents a Potm file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	POTM,
	/**
	 * Represents a ppsx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	PPSX,
	/**
	 * Represents a ppsm file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	PPSM,
	/**
	 * Represents office open xml file(such as xlsx, docx,pptx, etc).
	 * The file format is not supported
	 * Only for detecting file type.
	 * If the office open xml file is encrypted, it could not be detected as xlsx ,docx, pptx,etc.
	 */
	OOXML,
	/**
	 * MS Visio 2013 VSDM file format.
	 */
	VSDM,
	/**
	 * MS Visio 2013 VSSM file format.
	 */
	VSSM,
	/**
	 * MS Visio 2013 VSTM file format.
	 */
	VSTM,
	/**
	 * Represents an simple xml file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	XML,
	/**
	 * Represents a sldx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	SLDX,
	/**
	 * Represents a pptx file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	PPTX,
	/**
	 * Represents a BMP file.
	 * The file format is not supported
	 * Only for detecting file type.
	 */
	BMP,
	/**
	 * Windows Enhanced Metafile.
	 */
	EMF,
	/**
	 * Windows Metafile.
	 */
	WMF,
	/**
	 * JPEG JFIF.
	 */
	JPG,
	/**
	 * Portable Network Graphics.
	 */
	PNG,
	/**
	 * Gif
	 */
	GIF,

}

/**
 * Utility class containing constants.
 * Fill format type.
 * @enum {number}
 */
const FillType = {
	/**
	 * Represents automatic formatting type.
	 */
	AUTOMATIC,
	/**
	 * Represents none formatting type.
	 */
	NONE,
	/**
	 * Solid fill format.
	 */
	SOLID,
	/**
	 * Gradient fill format.
	 */
	GRADIENT,
	/**
	 * Texture fill format.
	 */
	TEXTURE,
	/**
	 * Pattern fill format.
	 */
	PATTERN,

}

/**
 * Utility class containing constants.
 * Specifies the type of a font source.
 * @enum {number}
 */
const FontSourceType = {
	/**
	 * represents single font file.
	 */
	FONT_FILE,
	/**
	 * represents folder with font files.
	 */
	FONTS_FOLDER,
	/**
	 * represents single font in memory.
	 */
	MEMORY_FONT,

}

/**
 * Utility class containing constants.
 * Data type.
 * @enum {number}
 */
const ForeignType = {
	/**
	 * Object.
	 */
	OBJECT,
	/**
	 * Enhanced Metafile.
	 */
	ENH_METAFILE,
	/**
	 * Metafile.
	 */
	METAFILE,
	/**
	 * Bitmap.
	 */
	BITMAP,
	/**
	 * Ink.
	 */
	INK,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * The part of a shape from which a connection originates.
 * @enum {number}
 */
const FromPartValue = {
	/**
	 * None.
	 */
	NONE,
	/**
	 * Left edge.
	 */
	LEFT_EDGE,
	/**
	 * Center edge.
	 */
	CENTER_EDGE,
	/**
	 * Right Edge.
	 */
	RIGHT_EDGE,
	/**
	 * Bottom Edge.
	 */
	BOTTOM_EDGE,
	/**
	 * Middle Edge.
	 */
	MIDDLE_EDGE,
	/**
	 * Top Edge.
	 */
	TOP_EDGE,
	/**
	 * BeginX cell.
	 */
	BEGIN_X_CELL,
	/**
	 * BeginY Cell.
	 */
	BEGIN_Y_CELL,
	/**
	 * BeginX/BeginY point.
	 */
	BEGIN_X_OR_BEGIN_Y_POINT,
	/**
	 * EndX cell.
	 */
	END_X_CELL,
	/**
	 * EndY cell.
	 */
	END_Y_CELL,
	/**
	 * EndX/EndY point.
	 */
	END_X_OR_END_Y_POINT,
	/**
	 * Control point.
	 */
	CONTROL_POINT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies constants that identify which shapes to return, based on the dimensionality and directionality of the connection points that are glued to a particular shape; passed to the Shape.GluedShapes method.
 * @enum {number}
 */
const GluedShapesFlags = {
	/**
	 * Return IDs of all 1-D shapes that are glued to this shape.
	 */
	GLUED_SHAPES_ALL_1_D,
	/**
	 * Return IDs of 1-D shapes whose end points are glued to this shape.
	 */
	GLUED_SHAPES_INCOMING_1_D,
	/**
	 * Return IDs of 1-D shapes whose begin points are glued to this shape.
	 */
	GLUED_SHAPES_OUTGOING_1_D,
	/**
	 * Return all 2-D shapes that are glued to this shape and all 2-D shapes to which this shape is glued.
	 */
	GLUED_SHAPES_ALL_2_D,
	/**
	 * If the source object is a 1-D shape, return IDs of 2-D shape to which the begin point is glued.
	 * If the source object is a 2-D shape, return IDs of 2-D shapes that are glued to this shape.
	 */
	GLUED_SHAPES_INCOMING_2_D,
	/**
	 * If the source object is a 1-D shape, return IDs of 2-D shape to which the end point is glued.
	 * If the source object is a 2-D shape, return IDs of 2-D shapes to which this shape is glued.
	 */
	GLUED_SHAPES_OUTGOING_2_D,

}

/**
 * Utility class containing constants.
 * The bit values indicate that a specific glue setting is on or off. The value may be a sum of the values:
 * @enum {number}
 */
const GlueSettings = {
	/**
	 * Glue is enabled, but no other glue settings are enabled.
	 */
	NONE,
	/**
	 * Glue to guides.
	 */
	GUIDES,
	/**
	 * Glue to handles.
	 */
	HANDLES,
	/**
	 * Glue to vertices.
	 */
	VERTICES,
	/**
	 * Glue to connection points.
	 */
	CONNECTION_POINTS,
	/**
	 * Glue to geometry.
	 */
	GEOMETRY,
	/**
	 * Glue is disabled
	 */
	DISABLED,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the objects that shapes glue to when glue is enabled in the document.
 * @enum {number}
 */
const GlueSettingsValue = {
	/**
	 * Glue is enabled, but no other glue settings are enabled.
	 */
	GLUE_IS_ENABLED,
	/**
	 * Glue to guides.
	 */
	GLUE_TO_GUIDES,
	/**
	 * Glue to handles.
	 */
	GLUE_TO_HANDLES,
	/**
	 * Glue to vertices.
	 */
	GLUE_TO_VERTICES,
	/**
	 * Glue to connection points.
	 */
	GLUE_TO_CONNECTION_POINTS,
	/**
	 * Glue to geometry.
	 */
	GLUE_TO_GEOMETRY,
	/**
	 * Glue is disabled.
	 */
	GLUE_IS_DISABLED,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies whether dynamic (shape-to-shape) glue is allowed when connecting to a shape.
 * @enum {number}
 */
const GlueTypeValue = {
	/**
	 * Default. Allow dynamic glue for the dynamic connector only; otherwise, use static glue.
	 */
	ALLOW_DYNAMIC_GLUE_FOR_DYNAMIC_CONNECTOR,
	/**
	 * Allow dynamic glue (obsolete in Microsoft Visio 2002).
	 */
	ALLOW_DYNAMIC_GLUE_2002,
	/**
	 * Allow dynamic glue.
	 */
	ALLOW_DYNAMIC_GLUE,
	/**
	 * Do not allow dynamic glue.
	 */
	NO_ALLOW_DYNAMIC_GLUE,
	/**
	 * Do not allow this 2-D shape to be connected to using dynamic glue.
	 */
	NO_ALLOW_2_D_SHAPE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents all direction type of gradient.
 * @enum {number}
 */
const GradientDirectionType = {
	/**
	 * FromUpperLeftCorner
	 */
	FROM_UPPER_LEFT_CORNER,
	/**
	 * FromUpperRightCorner
	 */
	FROM_UPPER_RIGHT_CORNER,
	/**
	 * FromLowerLeftCorner
	 */
	FROM_LOWER_LEFT_CORNER,
	/**
	 * FromLowerRightCorner
	 */
	FROM_LOWER_RIGHT_CORNER,
	/**
	 * FromCenter
	 */
	FROM_CENTER,
	/**
	 * Unknown
	 */
	UNKNOWN,

}

/**
 * Utility class containing constants.
 * Specifies the type of the fill color gradient of a shape
 * @enum {number}
 */
const GradientFillDir = {
	/**
	 * Specifies a linear fill color gradient.
	 */
	LINEAR,
	/**
	 * Specifies the fill color gradient of the shape is in radial mode from the bottom right corner of the shape
	 */
	RADIAL_FROM_BOTTOM_RIGHT,
	/**
	 * Specifies the fill color gradient of the shape is in radial mode from the bottom left corner of the shape
	 */
	RADIAL_FROM_BOTTOM_LEFT,
	/**
	 * Specifies the fill color gradient of the shape is in radial mode from the center of the shape.
	 */
	RADIAL_FROM_CENTER,
	/**
	 * Specifies the fill color gradient of the shape is in radial mode from the center of the bottom edge of the shape.
	 */
	RADIAL_FROM_CENTER_BOTTOM,
	/**
	 * Specifies the fill color gradient of the shape is in radial mode from the center of the top edge of the shape
	 */
	RADIAL_FROM_CENTER_TOP,
	/**
	 * Specifies the fill color gradient of the shape is in radial mode from the top right corner of the shape
	 */
	RADIAL_FROM_TOP_RIGHT,
	/**
	 * Specifies the fill color gradient of the shape is in radial mode from the top left corner of the shape
	 */
	RADIAL_FROM_TOP_LEFT,
	/**
	 * Specifies the fill color gradient of the shape is in rectangle mode from the bottom right corner of the shape
	 */
	RECTANGLE_FROM_BOTTOM_RIGHT,
	/**
	 * Specifies the fill color gradient of the shape is in rectangle mode from the bottom left corner of the shape
	 */
	RECTANGLE_FROM_BOTTOM_LEFT,
	/**
	 * Specifies the fill color gradient of the shape is in rectangle mode from the center of the shape.
	 */
	RECTANGLE_FROM_CENTER,
	/**
	 * Specifies the fill color gradient of the shape is in rectangle mode from the top right corner of the shape
	 */
	RECTANGLE_FROM_TOP_RIGHT,
	/**
	 * Specifies the fill color gradient of the shape is in rectangle mode from the top left corner of the shape
	 */
	RECTANGLE_FROM_TOP_LEFT,
	/**
	 * Specifies the fill color gradient of the shape is in path mode
	 */
	PATH,

}

/**
 * Utility class containing constants.
 * Represents all Gradient fill type.
 * @enum {number}
 */
const GradientFillType = {
	/**
	 * Linear
	 */
	LINEAR,
	/**
	 * Radial
	 */
	RADIAL,
	/**
	 * Rectangle
	 */
	RECTANGLE,
	/**
	 * Path
	 */
	PATH,

}

/**
 * Utility class containing constants.
 * Represents gradient shading style.
 * @enum {number}
 */
const GradientStyleType = {
	/**
	 * Diagonal down shading style
	 */
	DIAGONAL_DOWN,
	/**
	 * Diagonal up shading style
	 */
	DIAGONAL_UP,
	/**
	 * From center shading style
	 */
	FROM_CENTER,
	/**
	 * From corner shading style
	 */
	FROM_CORNER,
	/**
	 * Horizontal shading style
	 */
	HORIZONTAL,
	/**
	 * Vertical shading style
	 */
	VERTICAL,
	/**
	 * Unknown shading style.Only for the shading style(which is not for any memeber of the GradientStyleType) in the template file.
	 */
	UNKNOWN,

}

/**
 * Utility class containing constants.
 * Specifies the type of horizontal/vertical grid to use for a page.
 * @enum {number}
 */
const GridDensityValue = {
	/**
	 * Fixed.
	 */
	FIXED,
	/**
	 * Coarse.
	 */
	COARSE,
	/**
	 * Normal. Default.
	 */
	NORMAL,
	/**
	 * Fine
	 */
	FINE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the horizontal alignment of text in the shape's text block.
 * @enum {number}
 */
const HorzAlignValue = {
	/**
	 * Left align.
	 */
	LEFT_ALIGN,
	/**
	 * Center.
	 */
	CENTER,
	/**
	 * Right align.
	 */
	RIGHT_ALIGN,
	/**
	 * Justify.
	 */
	JUSTIFY,
	/**
	 * Force justify.
	 */
	FORCE_JUSTIFY,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Optional int. The size of the element's icon.
 * @enum {number}
 */
const IconSizeValue = {
	/**
	 * Normal.
	 */
	NORMAL,
	/**
	 * Tall.
	 */
	TALL,
	/**
	 * Wide.
	 */
	WIDE,
	/**
	 * Double.
	 */
	DOUBLE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the color mode for the generated images of document pages.
 * @enum {number}
 */
const ImageColorMode = {
	/**
	 * The pages of the document will be rendered as color images.
	 */
	NONE,
	/**
	 * The pages of the document will be rendered as grayscale images.
	 */
	GRAYSCALE,
	/**
	 * The pages of the document will be rendered as black and white images.
	 */
	BLACK_AND_WHITE,

}

/**
 * Utility class containing constants.
 * Represents the default run-time mode of the Input Method Editor.
 * @enum {number}
 */
const InputMethodEditorMode = {
	/**
	 * Does not control IME.
	 */
	NO_CONTROL,
	/**
	 * IME on.
	 */
	ON,
	/**
	 * IME off. English mode.
	 */
	OFF,
	/**
	 * IME off.User can't turn on IME by keyboard.
	 */
	DISABLE,
	/**
	 * IME on with Full-width hiragana mode.
	 */
	HIRAGANA,
	/**
	 * IME on with Full-width katakana mode.
	 */
	KATAKANA,
	/**
	 * IME on with Half-width katakana mode.
	 */
	KATAKANA_HALF,
	/**
	 * IME on with Full-width Alphanumeric mode.
	 */
	ALPHA_FULL,
	/**
	 * IME on with Half-width Alphanumeric mode.
	 */
	ALPHA,
	/**
	 * IME on with Full-width hangul mode.
	 */
	HANGUL_FULL,
	/**
	 * IME on with Half-width hangul mode.
	 */
	HANGUL,
	/**
	 * IME on with Full-width hanzi mode.
	 */
	HANZI_FULL,
	/**
	 * IME on with Half-width hanzi mode.
	 */
	HANZI,

}

/**
 * Utility class containing constants.
 * The InterpolationMode enumeration specifies the algorithm that is used when images are scaled or rotated.
 * @enum {number}
 */
const InterpolationMode = {
	/**
	 * Equivalent to the Invalid element of the QualityMode enumeration.
	 */
	INVALID,
	/**
	 * Specifies default mode.
	 */
	DEFAULT,
	/**
	 * Specifies low quality interpolation.
	 */
	LOW,
	/**
	 * Specifies high quality interpolation.
	 */
	HIGH,
	/**
	 * Specifies bilinear interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 50 percent of its original size.
	 */
	BILINEAR,
	/**
	 * Specifies bicubic interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 25 percent of its original size.
	 */
	BICUBIC,
	/**
	 * Specifies nearest-neighbor interpolation.
	 */
	NEAREST_NEIGHBOR,
	/**
	 * Specifies high-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking.
	 */
	HIGH_QUALITY_BILINEAR,
	/**
	 * Specifies high-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking. This mode produces the highest quality transformed images.
	 */
	HIGH_QUALITY_BICUBIC,

}

/**
 * Utility class containing constants.
 * Used to set direction of layout.
 * @enum {number}
 */
const LayoutDirection = {
	/**
	 * Places shape from top to bottom.
	 * It makes sense only when Flowchart style is chosen.
	 */
	TOP_TO_BOTTOM,
	/**
	 * Places shape from bottom to top.
	 * It makes sense only when Flowchart style is chosen.
	 */
	BOTTOM_TO_TOP,
	/**
	 * Places shape from left to right .
	 * It makes sense only when Flowchart style is chosen.
	 */
	LEFT_TO_RIGHT,
	/**
	 * Places shape from right to left.
	 * It makes sense only when Flowchart style is chosen.
	 */
	RIGHT_TO_LEFT,
	/**
	 * Places shapes first to the down and then right.
	 * It makes sense only when CompactTree style is chosen.
	 */
	DOWN_THEN_RIGHT,
	/**
	 * Places shapes first to the right and then down.
	 * It makes sense only when CompactTree style is chosen.
	 */
	RIGHT_THEN_DOWN,
	/**
	 * Places shapes first to the left and then down.
	 * It makes sense only when CompactTree style is chosen.
	 */
	LEFT_THEN_DOWN,
	/**
	 * Places shapes first to the down and then left.
	 * It makes sense only when CompactTree style is chosen.
	 */
	DOWN_THEN_LEFT,

}

/**
 * Utility class containing constants.
 * Used to specify style of layout.
 * @enum {number}
 */
const LayoutStyle = {
	/**
	 * Flowchart style.
	 */
	FLOW_CHART,
	/**
	 * Tree style.
	 */
	COMPACT_TREE,
	/**
	 * Radial style.
	 */
	RADIAL,
	/**
	 * Circular style.
	 */
	CIRCULAR,

}

/**
 * Utility class containing constants.
 * Represents the light rig direction type.
 * @enum {number}
 */
const LightRigDirectionType = {
	/**
	 * Bottom
	 */
	BOTTOM,
	/**
	 * Bottom left.
	 */
	BOTTOM_LEFT,
	/**
	 * Bottom Right.
	 */
	BOTTOM_RIGHT,
	/**
	 * Left.
	 */
	LEFT,
	/**
	 * Right.
	 */
	RIGHT,
	/**
	 * Top.
	 */
	TOP,
	/**
	 * Top left.
	 */
	TOP_LEFT,
	/**
	 * Top Right.
	 */
	TOP_RIGHT,

}

/**
 * Utility class containing constants.
 * Specifies which dynamic connectors to space apart if they route on top of each other.
 * @enum {number}
 */
const LineAdjustFromValue = {
	/**
	 * Unrelated lines.
	 */
	UNRELATED_LINES,
	/**
	 * All lines.
	 */
	ALL_LINES,
	/**
	 * No lines.
	 */
	NO_LINES,
	/**
	 * Routing style default.
	 */
	ROUTING_STYLE_DEFAULT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies which dynamic connectors to line up on top of one another if they route on top of each other.
 * @enum {number}
 */
const LineAdjustToValue = {
	/**
	 * Routing style default.
	 */
	ROUTING_STYLE_DEFAULT,
	/**
	 * All lines that are close to each other.
	 */
	ALL_LINES_CLOSE,
	/**
	 * No lines.
	 */
	NO_LINES,
	/**
	 * Related lines.
	 */
	RELATEDLINES,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the dynamic connectors to which you want to add jumps.
 * @enum {number}
 */
const LineJumpCodeValue = {
	/**
	 * None.
	 */
	NONE,
	/**
	 * Horizontal lines.
	 */
	HORIZONTAL_LINES,
	/**
	 * Vertical lines.
	 */
	VERTICAL_LINES,
	/**
	 * Last routed line.
	 */
	LAST_ROUTED_LINE,
	/**
	 * Last displayed line (top shape in the display order).
	 */
	LAST_DISPLAYED_LINE,
	/**
	 * First displayed line (bottom shape in the display order).
	 */
	FIRST_DISPLAYED_LINE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the line jump style for all connectors on the drawing page that don't have a local line jump style.
 * @enum {number}
 */
const LineJumpStyleValue = {
	/**
	 * Default.
	 */
	DEFAULT,
	/**
	 * Arc.
	 */
	ARC,
	/**
	 * Gap.
	 */
	GAP,
	/**
	 * Square.
	 */
	SQUARE,
	/**
	 * 2 Sides.
	 */
	SIDES_2,
	/**
	 * 3 Sides.
	 */
	SIDES_3,
	/**
	 * 4 Sides.
	 */
	SIDES_4,
	/**
	 * 5 Sides.
	 */
	SIDES_5,
	/**
	 * 6 Sides.
	 */
	SIDES_6,
	/**
	 * 7 Sides.
	 */
	SIDES_7,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the default appearance for all connectors on a page.
 * @enum {number}
 */
const LineRouteExtValue = {
	/**
	 * Default.
	 */
	DEFAULT,
	/**
	 * Straight.
	 */
	STRAIGHT,
	/**
	 * Curved.
	 */
	CURVED,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents the options to filter data when loading diagram from template.
 * @enum {number}
 */
const LoadDataFilterOptions = {
	/**
	 * Load all
	 */
	ALL,
	/**
	 * Load document properties
	 */
	DOCUMENT_PROPERTIES,
	/**
	 * Load VBA projects
	 */
	VBA,
	/**
	 * Load SolutionXML
	 */
	SOLUTION_XML,
	/**
	 * Load Font
	 */
	FONT,

}

/**
 * Utility class containing constants.
 * Enumeration for loading diagram format selection.
 * @enum {number}
 */
const LoadFileFormat = {
	/**
	 * MS Visio VDX xml format.
	 */
	VDX,
	/**
	 * MS Visio Vsd binary format.
	 */
	VSD,
	/**
	 * MS Visio Vsx xml stencil format.
	 */
	VSX,
	/**
	 * MS Visio Vss binary stencil format.
	 */
	VSS,
	/**
	 * MS Visio Vtx xml template format.
	 */
	VTX,
	/**
	 * MS Visio Vst binary template format.
	 */
	VST,
	/**
	 * MS Visio Vdw web drawing format.
	 */
	VDW,
	/**
	 * MS Visio 2013 Vsdx file format.
	 */
	VSDX,
	/**
	 * MS Visio 2013 Vstx Template file format.
	 */
	VSTX,
	/**
	 * MS Visio 2013 Vssx file format.
	 */
	VSSX,
	/**
	 * MS Visio Vsdm file format which enable macros.
	 */
	VSDM,
	/**
	 * MS Visio Vssm file format which enable macros.
	 */
	VSSM,
	/**
	 * MS Visio Vstm file format which enable macros.
	 */
	VSTM,

}

/**
 * Utility class containing constants.
 * Specifies whether the shape text should be localized (translated into another language).
 * @enum {number}
 */
const LocalizeFontValue = {
	/**
	 * Localize the font only if it is Arial or Symbol (the default).
	 */
	LOCALIZE_FONT_ONLY_ARIAL_SYMBOL,
	/**
	 * Always localize the font.
	 */
	ALWAYS_LOCALIZE_FONT,
	/**
	 * Never localize the font.
	 */
	NEVER_LOCALIZE_FONT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Units of\
 * measure.
 * @enum {number}
 */
const MeasureConst = {
	/**
	 * Acre.
	 */
	AC,
	/**
	 * Ciceros.
	 */
	C,
	/**
	 * Ciceros/didits.
	 */
	C_D,
	/**
	 * Centimetres.
	 */
	CM,
	/**
	 * Didots.
	 */
	D,
	/**
	 * Default length units.
	 */
	DL,
	/**
	 * Default page units.
	 */
	DP,
	/**
	 * Default type units.
	 */
	DT,
	/**
	 * Feet/inch.
	 */
	F_I,
	/**
	 * Feet.
	 */
	FT,
	/**
	 * Hectare.
	 */
	HA,
	/**
	 * Inches.
	 */
	IN,
	/**
	 * Inches fractional.
	 */
	IN_F,
	/**
	 * Kilometres.
	 */
	KM,
	/**
	 * Metres.
	 */
	M,
	/**
	 * Miles.
	 */
	MI,
	/**
	 * Milest fractional.
	 */
	MI_F,
	/**
	 * Milimetres.
	 */
	MM,
	/**
	 * Nautical miles.
	 */
	NM,
	/**
	 * Picas.
	 */
	P,
	/**
	 * Points.
	 */
	PT,
	/**
	 * Picas/points.
	 */
	P_PT,
	/**
	 * Yards.
	 */
	YD,
	/**
	 * Degrees.
	 */
	AD,
	/**
	 * Minutes.
	 */
	AM,
	/**
	 * Seconds.
	 */
	AS,
	/**
	 * Default angle units.
	 */
	DA,
	/**
	 * Fractional degree.
	 */
	DEG,
	/**
	 * Radians.
	 */
	RAD,
	/**
	 * Default duration units.
	 */
	DE,
	/**
	 * Elapsed days.
	 */
	ED,
	/**
	 * Elapsed hours.
	 */
	EH,
	/**
	 * Elapsed minutes.
	 */
	EM,
	/**
	 * Elapsed seconds.
	 */
	ES,
	/**
	 * Elapsed weeks.
	 */
	EW,
	/**
	 * Date and time.
	 */
	DATE,
	/**
	 * Boolean.
	 */
	BOOL,
	/**
	 * A color value.
	 */
	COLOR,
	/**
	 * Currency.
	 */
	CY,
	/**
	 * A global unique identifier.
	 */
	GUID,
	/**
	 * Multidimential value.
	 */
	MULTIDIM,
	/**
	 * Number.
	 */
	NUM,
	/**
	 * Nurbs curve data.
	 */
	NURBS,
	/**
	 * Percent.
	 */
	PER,
	/**
	 * 2-D coordinate.
	 */
	PNT,
	/**
	 * Polyline point data.
	 */
	POLYLINE,
	/**
	 * String.
	 */
	STR,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Indicates the type of text field.
 * @enum {number}
 */
const ObjectKindValue = {
	/**
	 * Standard.
	 */
	STANDARD,
	/**
	 * Horizontal in vertical.
	 */
	HORIZONTAL_IN_VERTICAL,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * If the ForeignType attribute is "Object", the ForeignData element must also have an ObjectType attribute.
 * @enum {number}
 */
const ObjectType = {
	/**
	 * Linked object.
	 */
	LINKED_OBJECT,
	/**
	 * Embedded object.
	 */
	EMBEDDED_OBJECT,
	/**
	 * Control.
	 */
	CONTROL,
	/**
	 * OLE2 named.
	 */
	OLE_2_NAMED,
	/**
	 * OLE2 object.
	 */
	OLE_2_OBJECT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies whether objects are placeable or routable in diagrams when you use Microsoft Visio to lay out shapes on the drawing page.
 * @enum {number}
 */
const ObjTypeValue = {
	/**
	 * Visio decides based on the drawing context.
	 */
	DRAWING_CONTEXT,
	/**
	 * Shape is placeable.
	 */
	SHAPE_PLACEABLE,
	/**
	 * Shape is routable.
	 */
	SHAPE_ROUTABLE,
	/**
	 * Shape is not placeable, not routable.
	 */
	SHAPE_NOT_PLACEABLE_NOT_ROUTABLE,
	/**
	 * Group contains placeable/routable shapes.
	 */
	SHAPE_PLACEABLE_ROUTABLE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Optional unsigned integer. Options to apply to the data recordset. Possible values can be any combination of one or more of those shown in the following table.
 * @enum {number}
 */
const OptionsValue = {
	/**
	 * Prevents data in the data recordset from being displayed in the External Data window.
	 */
	NO_EXTERNAL_DATA_UI,
	/**
	 * Limits the control users have of how the data recordset is refreshed in the Configure Refresh dialog box for the data recordset. In particular, users cannot change the primary key or specify when shape data should be overwritten; however, users can set the refresh interval and can change the data source.
	 */
	NO_ADV_CONFIG,
	/**
	 * Prevents the data recordset from being displayed in the Refresh Data dialog box.
	 */
	NO_REFRESH_UI,
	/**
	 * Does not copy shape-data links to the Clipboard when shapes are copied or cut.
	 */
	NO_LINK_ON_PASTE,
	/**
	 * Does not execute the command-string query until the next time the data recordset is refreshed.
	 */
	DELAY_QUERY,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the output format for a drawing.
 * @enum {number}
 */
const OutputFormatValue = {
	/**
	 * Default. Print.
	 */
	DEFAULT_PRINT,
	/**
	 * PowerPoint slide show.
	 */
	POWER_POINT_SLIDE_SHOW,
	/**
	 * HTML or GIF output.
	 */
	HTML_OR_GIF_OUTPUT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the direction of line jumps on horizontal segments of dynamic connectors on the drawing page for which you haven't applied a local jump direction.
 * @enum {number}
 */
const PageLineJumpDirXValue = {
	/**
	 * Default Up.
	 */
	DEFAULT_UP,
	/**
	 * Up.
	 */
	UP,
	/**
	 * Down
	 */
	DOWN,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the direction of line jumps on vertical dynamic connectors on the drawing page for which you haven't applied a local jump direction.
 * @enum {number}
 */
const PageLineJumpDirYValue = {
	/**
	 * Default left.
	 */
	DEFAULTLEFT,
	/**
	 * Left.
	 */
	LEFT,
	/**
	 * Right.
	 */
	RIGHT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Enumeration for saving paper size format selection.
 * @enum {number}
 */
const PaperSizeFormat = {
	/**
	 * Custom paper size format.
	 */
	CUSTOM,
	/**
	 * A0 paper size format(841mm x 1189mm).
	 */
	A_0,
	/**
	 * A1 paper size format(594mm x 841mm).
	 */
	A_1,
	/**
	 * A2 paper size format(420mm x 594mm).
	 */
	A_2,
	/**
	 * A3 paper size format(297mm x 420mm).
	 */
	A_3,
	/**
	 * A4 paper size format(210mm x 297mm).
	 */
	A_4,
	/**
	 * A5 paper size format(148mm x 210mm).
	 */
	A_5,
	/**
	 * A6 paper size format(105mm x 148mm).
	 */
	A_6,
	/**
	 * A7 paper size format(74mm x 105mm).
	 */
	A_7,
	/**
	 * B0 paper size format(1000mm x 1414mm).
	 */
	B_0,
	/**
	 * B1 paper size format(707mm x 1000mm).
	 */
	B_1,
	/**
	 * B2 paper size format(500mm x 707mm).
	 */
	B_2,
	/**
	 * B3 paper size format(353mm x 500mm).
	 */
	B_3,
	/**
	 * B4 paper size format(250mm x 353mm).
	 */
	B_4,
	/**
	 * B5 paper size format(176mm x 250mm).
	 */
	B_5,
	/**
	 * B6 paper size format(125mm x 176mm).
	 */
	B_6,
	/**
	 * B7 paper size format(88mm x 125mm).
	 */
	B_7,
	/**
	 * C0 paper size format(917mm x 1297mm).
	 */
	C_0,
	/**
	 * C1 paper size format(648mm x 917mm).
	 */
	C_1,
	/**
	 * C2 paper size format(458mm x 648mm).
	 */
	C_2,
	/**
	 * C3 paper size format(324mm x 458mm).
	 */
	C_3,
	/**
	 * C4 paper size format(229mm x 324mm).
	 */
	C_4,
	/**
	 * C5 paper size format(162mm x 229mm).
	 */
	C_5,
	/**
	 * C6 paper size format(114mm x 162mm).
	 */
	C_6,
	/**
	 * C7 paper size format(81mm x 114mm).
	 */
	C_7,
	/**
	 * Letter paper size format(215.9mm x 279.7mm).
	 */
	LETTER,
	/**
	 * Legal paper size format(215.9mm x 355.6mm).
	 */
	LEGAL,
	/**
	 * Legal13 paper size format(215.9mm x 330.2mm).
	 */
	LEGAL_13,
	/**
	 * Tabloid paper size format(279.4mm x 431.8mm).
	 */
	TABLOID,
	/**
	 * Executive paper size format(184.15mm x 266.7mm).
	 */
	EXECUTIVE,
	/**
	 * DL paper size format(110mm x 220mm).
	 */
	DL,
	/**
	 * COM9 paper size format(98.4mm x 225.4mInterpolationMode:Invalidm).
	 */
	COM_9,
	/**
	 * COM10 paper size format(104.78mm x 241.3mm).
	 */
	COM_10,
	/**
	 * Monarch paper size format(98.4mm x 190.5mm).
	 */
	MONARCH,

}

/**
 * Utility class containing constants.
 * Specifies the PDF compliance level to output file.
 * @enum {number}
 */
const PdfCompliance = {
	/**
	 * The output file will be PDF 1.5 compliant.
	 */
	PDF_15,
	/**
	 * The output file will be PDF/A-1a compliant.
	 */
	PDF_A_1_A,
	/**
	 * The output file will be PDF/A-1b compliant.
	 */
	PDF_A_1_B,

}

/**
 * Utility class containing constants.
 * Specifies digital hash algorithm used by digital signature.
 * @enum {number}
 */
const PdfDigitalSignatureHashAlgorithm = {
	/**
	 * SHA-1 hash algorithm.
	 */
	SHA_1,
	/**
	 * SHA-256 hash algorithm.
	 */
	SHA_256,
	/**
	 * SHA-384 hash algorithm.
	 */
	SHA_384,
	/**
	 * SHA-512 hash algorithm.
	 */
	SHA_512,
	/**
	 * SHA-1 hash algorithm.
	 */
	MD_5,

}

/**
 * Utility class containing constants.
 * Specifies the encryption algorithm to use for encrypting a PDF document.
 * @enum {number}
 */
const PdfEncryptionAlgorithm = {
	/**
	 * RC4 encryption, key length of 40 bits.
	 */
	RC_4_40,
	/**
	 * RC4 encryption, key length of 128 bits.
	 */
	RC_4_128,

}

/**
 * Utility class containing constants.
 * Specifies user permissions for PDF document.
 * @enum {number}
 */
const PdfPermissions = {
	/**
	 * Disallows all operations on the PDF document. This is the default value.
	 */
	DISALLOW_ALL,
	/**
	 * Allows printing the document.
	 */
	PRINTING,
	/**
	 * Allows modifying the document’s contents.
	 */
	MODIFY_CONTENTS,
	/**
	 * Allows copying or otherwise extracting text and graphics from the document, including extraction for accessibility purposes.
	 */
	CONTENT_COPY,
	/**
	 * Allows adding or modifying text annotations. When using RC4 40-bit encryption, this option also allows filling in form fields.
	 */
	MODIFY_ANNOTATIONS,
	/**
	 * Allows filling in forms and signing the document. When using RC4 40-bit encryption, this option is ignored and filling in form is allowed whenever ModifyAnnotations is set.
	 */
	FILL_IN,
	/**
	 * Allows extract text and graphics in support of accessibility to disabled users or for other purposes. When using RC4 40-bit encryption, this option is ignored and accessibility is allowed whenever ContentCopy is set.
	 */
	CONTENT_COPY_FOR_ACCESSIBILITY,
	/**
	 * Allows assembling the document: inserting, rotating, or deleting pages and creating navigation elements such as bookmarks or thumbnail images. When using RC4 40-bit encryption, this option is ignored and document assembly is allowed when ModifyContents is set.
	 */
	DOCUMENT_ASSEMBLY,
	/**
	 * Allows printing the document to the highest resolution possible.When using RC4 40-bit encryption, this option is ignored and high resolution printing is allowed when Printing is set.
	 */
	HIGH_RESOLUTION_PRINTING,
	/**
	 * Allows all operations on the PDF document.
	 */
	ALLOW_ALL,

}

/**
 * Utility class containing constants.
 * Specifies a type of compression applied to all content in the PDF file except images.
 * @enum {number}
 */
const PdfTextCompression = {
	/**
	 * No compression.
	 */
	NONE,
	/**
	 * Flate (ZIP) compression.
	 */
	FLATE,

}

/**
 * Utility class containing constants.
 * Specifies the pin position for the shape.
 * @enum {number}
 */
const PinPosValue = {
	/**
	 * left-top
	 */
	TOP_LEFT,
	/**
	 * top-center
	 */
	TOP_CENTER,
	/**
	 * top-right
	 */
	TOP_RIGHT,
	/**
	 * center-left.
	 */
	CENTER_LEFT,
	/**
	 * center-center
	 */
	CENTER_CENTER,
	/**
	 * center-right
	 */
	CENTER_RIGHT,
	/**
	 * bottom-left.
	 */
	BOTTOM_LEFT,
	/**
	 * bottom-center
	 */
	BOTTOM_CENTER,
	/**
	 * bottom-right
	 */
	BOTTOM_RIGHT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies how pixels are offset during rendering.
 * @enum {number}
 */
const PixelOffsetMode = {
	/**
	 * Specifies an invalid mode.
	 */
	INVALID,
	/**
	 * Specifies the default mode.
	 */
	DEFAULT,
	/**
	 * Specifies high speed, low quality rendering.
	 */
	HIGH_SPEED,
	/**
	 * Specifies high quality, low speed rendering.
	 */
	HIGH_QUALITY,
	/**
	 * Specifies no pixel offset.
	 */
	NONE,
	/**
	 * Specifies that pixels are offset by -.5 units, both horizontally and vertically, for high speed antialiasing.
	 */
	HALF,

}

/**
 * Utility class containing constants.
 * For a drawing that is laid out automatically, specifies the method by which the drawing is analyzed before creating the layout and determines the type of layout.
 * @enum {number}
 */
const PlaceDepthValue = {
	/**
	 * Page default.
	 */
	PAGE_DEFAULT,
	/**
	 * Medium.
	 */
	MEDIUM,
	/**
	 * Deep.
	 */
	DEEP,
	/**
	 * Shallow.
	 */
	SHALLOW,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies how placeable shapes flip and/or rotate on a page when shapes are laid out using the Lay Out Shapes command in Microsoft Visio. The following hexadecimal values are allowed.
 * @enum {number}
 */
const PlaceFlipValue = {
	/**
	 * Default. Do not flip.
	 */
	DEFAULT_NO_FLIP,
	/**
	 * Flip horizontal.
	 */
	FLIP_HORIZONTAL,
	/**
	 * Flip vertical.
	 */
	FLIP_VERTICAL,
	/**
	 * Flip in 90-degree increments.
	 */
	FLIP_90_INCREMENTS,
	/**
	 * No flip.
	 */
	NO_FLIP,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies how shapes are placed on the page when shapes are laid out when a user selects Lay Out Shapes (Shape menu).
 * @enum {number}
 */
const PlaceStyleValue = {
	/**
	 * Default. Radial.
	 */
	DEFAULT_RADIAL,
	/**
	 * Top to bottom.
	 */
	TOP_TO_BOTTOM,
	/**
	 * Left to right.
	 */
	LEFT_TO_RIGHT,
	/**
	 * Radial.
	 */
	RADIAL,
	/**
	 * Bottom to top.
	 */
	BOTTOM_TO_TOP,
	/**
	 * Right to left.
	 */
	RIGHT_TO_LEFT,
	/**
	 * Circular.
	 */
	CIRCULAR,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the position of the shape's text relative to the baseline.
 * @enum {number}
 */
const PosValue = {
	/**
	 * Normal position.
	 */
	NORMAL_POSITION,
	/**
	 * Superscript.
	 */
	SUPERSCRIPT,
	/**
	 * Subscript.
	 */
	SUBSCRIPT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represent different algorithmic methods for setting all camera properties, including position.
 * @enum {number}
 */
const PresetCameraType = {
	/**
	 */
	ISOMETRIC_BOTTOM_DOWN,
	/**
	 */
	ISOMETRIC_BOTTOM_UP,
	/**
	 */
	ISOMETRIC_LEFT_DOWN,
	/**
	 */
	ISOMETRIC_LEFT_UP,
	/**
	 */
	ISOMETRIC_OFF_AXIS_1_LEFT,
	/**
	 */
	ISOMETRIC_OFF_AXIS_1_RIGHT,
	/**
	 */
	ISOMETRIC_OFF_AXIS_1_TOP,
	/**
	 */
	ISOMETRIC_OFF_AXIS_2_LEFT,
	/**
	 */
	ISOMETRIC_OFF_AXIS_2_RIGHT,
	/**
	 */
	ISOMETRIC_OFF_AXIS_2_TOP,
	/**
	 */
	ISOMETRIC_OFF_AXIS_3_BOTTOM,
	/**
	 */
	ISOMETRIC_OFF_AXIS_3_LEFT,
	/**
	 */
	ISOMETRIC_OFF_AXIS_3_RIGHT,
	/**
	 */
	ISOMETRIC_OFF_AXIS_4_BOTTOM,
	/**
	 */
	ISOMETRIC_OFF_AXIS_4_LEFT,
	/**
	 */
	ISOMETRIC_OFF_AXIS_4_RIGHT,
	/**
	 */
	ISOMETRIC_RIGHT_DOWN,
	/**
	 */
	ISOMETRIC_RIGHT_UP,
	/**
	 */
	ISOMETRIC_TOP_DOWN,
	/**
	 */
	ISOMETRIC_TOP_UP,
	/**
	 */
	LEGACY_OBLIQUE_BOTTOM,
	/**
	 */
	LEGACY_OBLIQUE_BOTTOM_LEFT,
	/**
	 */
	LEGACY_OBLIQUE_BOTTOM_RIGHT,
	/**
	 */
	LEGACY_OBLIQUE_FRONT,
	/**
	 */
	LEGACY_OBLIQUE_LEFT,
	/**
	 */
	LEGACY_OBLIQUE_RIGHT,
	/**
	 */
	LEGACY_OBLIQUE_TOP,
	/**
	 */
	LEGACY_OBLIQUE_TOP_LEFT,
	/**
	 */
	LEGACY_OBLIQUE_TOP_RIGHT,
	/**
	 */
	LEGACY_PERSPECTIVE_BOTTOM,
	/**
	 */
	LEGACY_PERSPECTIVE_BOTTOM_LEFT,
	/**
	 */
	LEGACY_PERSPECTIVE_BOTTOM_RIGHT,
	/**
	 */
	LEGACY_PERSPECTIVE_FRONT,
	/**
	 */
	LEGACY_PERSPECTIVE_LEFT,
	/**
	 */
	LEGACY_PERSPECTIVE_RIGHT,
	/**
	 */
	LEGACY_PERSPECTIVE_TOP,
	/**
	 */
	LEGACY_PERSPECTIVE_TOP_LEFT,
	/**
	 */
	LEGACY_PERSPECTIVE_TOP_RIGHT,
	/**
	 */
	OBLIQUE_BOTTOM,
	/**
	 */
	OBLIQUE_BOTTOM_LEFT,
	/**
	 */
	OBLIQUE_BOTTOM_RIGHT,
	/**
	 */
	OBLIQUE_LEFT,
	/**
	 */
	OBLIQUE_RIGHT,
	/**
	 */
	OBLIQUE_TOP,
	/**
	 */
	OBLIQUE_TOP_LEFT,
	/**
	 */
	OBLIQUE_TOP_RIGHT,
	/**
	 */
	ORTHOGRAPHIC_FRONT,
	/**
	 */
	PERSPECTIVE_ABOVE,
	/**
	 */
	PERSPECTIVE_ABOVE_LEFT_FACING,
	/**
	 */
	PERSPECTIVE_ABOVE_RIGHT_FACING,
	/**
	 */
	PERSPECTIVE_BELOW,
	/**
	 */
	PERSPECTIVE_CONTRASTING_LEFT_FACING,
	/**
	 */
	PERSPECTIVE_CONTRASTING_RIGHT_FACING,
	/**
	 */
	PERSPECTIVE_FRONT,
	/**
	 */
	PERSPECTIVE_HEROIC_EXTREME_LEFT_FACING,
	/**
	 */
	PERSPECTIVE_HEROIC_EXTREME_RIGHT_FACING,
	/**
	 */
	PERSPECTIVE_HEROIC_LEFT_FACING,
	/**
	 */
	PERSPECTIVE_HEROIC_RIGHT_FACING,
	/**
	 */
	PERSPECTIVE_LEFT,
	/**
	 */
	PERSPECTIVE_RELAXED,
	/**
	 */
	PERSPECTIVE_RELAXED_MODERATELY,
	/**
	 */
	PERSPECTIVE_RIGHT,

}

/**
 * Utility class containing constants.
 * Used to set Shape theme style's color property
 * @enum {number}
 */
const PresetColorMatricsValue = {
	/**
	 * Color1.
	 */
	COLOR_1,
	/**
	 * Color2.
	 */
	COLOR_2,
	/**
	 * Color3.
	 */
	COLOR_3,
	/**
	 * Color4.
	 */
	COLOR_4,
	/**
	 * Color5.
	 */
	COLOR_5,
	/**
	 * Color6.
	 */
	COLOR_6,
	/**
	 * Color7.
	 */
	COLOR_7,

}

/**
 * Utility class containing constants.
 * Specifies the theme quick style value
 * @enum {number}
 */
const PresetQuickStyleValue = {
	/**
	 * VariantStyle1.
	 */
	VARIANT_STYLE_1,
	/**
	 * VariantStyle2.
	 */
	VARIANT_STYLE_2,
	/**
	 * VariantStyle3.
	 */
	VARIANT_STYLE_3,
	/**
	 * VariantStyle4.
	 */
	VARIANT_STYLE_4,

}

/**
 * Utility class containing constants.
 * Represents preset shadow type.
 * @enum {number}
 */
const PresetShadowType = {
	/**
	 * No shadow.
	 */
	NO_SHADOW,
	/**
	 * Custom shadow.
	 */
	CUSTOM,
	/**
	 * Outer shadow offset diagonal bottom right.
	 */
	OFFSET_DIAGONAL_BOTTOM_RIGHT,
	/**
	 * Outer shadow offset bottom.
	 */
	OFFSET_BOTTOM,
	/**
	 * Outer shadow offset diagonal bottom left.
	 */
	OFFSET_DIAGONAL_BOTTOM_LEFT,
	/**
	 * Outer shadow offset right.
	 */
	OFFSET_RIGHT,
	/**
	 * Outer shadow offset center.
	 */
	OFFSET_CENTER,
	/**
	 * Outer shadow offset left.
	 */
	OFFSET_LEFT,
	/**
	 * Outer shadow offset diagonal top right.
	 */
	OFFSET_DIAGONAL_TOP_RIGHT,
	/**
	 * Outer shadow offset top.
	 */
	OFFSET_TOP,
	/**
	 * Outer shadow offset diagonal top left.
	 */
	OFFSET_DIAGONAL_TOP_LEFT,
	/**
	 * Inner shadow inside diagonal top Left.
	 */
	INSIDE_DIAGONAL_TOP_LEFT,
	/**
	 * Inner shadow inside top.
	 */
	INSIDE_TOP,
	/**
	 * Inner shadow inside diagonal top right.
	 */
	INSIDE_DIAGONAL_TOP_RIGHT,
	/**
	 * Inner shadow inside left.
	 */
	INSIDE_LEFT,
	/**
	 * Inner shadow inside center.
	 */
	INSIDE_CENTER,
	/**
	 * Inner shadow inside right.
	 */
	INSIDE_RIGHT,
	/**
	 * Inner shadow inside diagonal bottom left.
	 */
	INSIDE_DIAGONAL_BOTTOM_LEFT,
	/**
	 * Inner shadow inside bottom.
	 */
	INSIDE_BOTTOM,
	/**
	 * Inner shadow inside diagonal bottom right.
	 */
	INSIDE_DIAGONAL_BOTTOM_RIGHT,
	/**
	 * Outer shadow perspective diagonal upper left.
	 */
	PERSPECTIVE_DIAGONAL_UPPER_LEFT,
	/**
	 * Outer shadow perspective diagonal upper right.
	 */
	PERSPECTIVE_DIAGONAL_UPPER_RIGHT,
	/**
	 * Outer shadow below.
	 */
	BELOW,
	/**
	 * Outer shadow perspective diagonal lower left.
	 */
	PERSPECTIVE_DIAGONAL_LOWER_LEFT,
	/**
	 * Outer shadow perspective diagonal lower right.
	 */
	PERSPECTIVE_DIAGONAL_LOWER_RIGHT,

}

/**
 * Utility class containing constants.
 * Used to set Shape theme style property
 * @enum {number}
 */
const PresetStyleMatricsValue = {
	/**
	 * Style1
	 */
	STYLE_1,
	/**
	 * Style2
	 */
	STYLE_2,
	/**
	 * Style3
	 */
	STYLE_3,
	/**
	 * Style4
	 */
	STYLE_4,
	/**
	 * Style5
	 */
	STYLE_5,
	/**
	 * Style6
	 */
	STYLE_6,

}

/**
 * Utility class containing constants.
 * Specifies the theme value
 * @enum {number}
 */
const PresetThemeValue = {
	/**
	 * NoTheme
	 */
	NO_THEME,
	/**
	 * Office
	 */
	OFFICE,
	/**
	 * Linear
	 */
	LINEAR,
	/**
	 * Zephyr
	 */
	ZEPHYR,
	/**
	 * Integral
	 */
	INTEGRAL,
	/**
	 * Simple
	 */
	SIMPLE,
	/**
	 * Whisp
	 */
	WHISP,
	/**
	 * Daybreak
	 */
	DAYBREAK,
	/**
	 * Parallel
	 */
	PARALLEL,
	/**
	 * Sequence
	 */
	SEQUENCE,
	/**
	 * Slice
	 */
	SLICE,
	/**
	 * Ion
	 */
	ION,
	/**
	 * Retrospect
	 */
	RETROSPECT,
	/**
	 * Organic
	 */
	ORGANIC,
	/**
	 * Bubble
	 */
	BUBBLE,
	/**
	 * Clouds
	 */
	CLOUDS,
	/**
	 * Gemstone
	 */
	GEMSTONE,
	/**
	 * Lines
	 */
	LINES,
	/**
	 * Facet
	 */
	FACET,
	/**
	 * Prominence
	 */
	PROMINENCE,
	/**
	 * Smoke
	 */
	SMOKE,
	/**
	 * Radiance
	 */
	RADIANCE,
	/**
	 * Shade
	 */
	SHADE,
	/**
	 * Pencil
	 */
	PENCIL,
	/**
	 * Pen
	 */
	PEN,
	/**
	 * Marker
	 */
	MARKER,
	/**
	 * WhiteBoard
	 */
	WHITE_BOARD,

}

/**
 * Utility class containing constants.
 * Specifies the theme Variant value
 * @enum {number}
 */
const PresetThemeVariantValue = {
	/**
	 * Variant1.
	 */
	VARIANT_1,
	/**
	 * Variant2.
	 */
	VARIANT_2,
	/**
	 * Variant3.
	 */
	VARIANT_3,
	/**
	 * Variant4.
	 */
	VARIANT_4,

}

/**
 * Utility class containing constants.
 * Specifies whether the document includes a preview, and, if so, whether the preview shows only the first page or all the pages in the document.
 * @enum {number}
 */
const PreviewScopeValue = {
	/**
	 * First page.
	 */
	FIRST_PAGE,
	/**
	 * No preview.
	 */
	NO_PREVIEW,
	/**
	 * All pages.
	 */
	ALL_PAGES,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines whether the page is printed in portrait or landscape orientation.
 * @enum {number}
 */
const PrintPageOrientationValue = {
	/**
	 * Same as printer.
	 */
	SAME_AS_PRINTER,
	/**
	 * Portrait.
	 */
	PORTRAIT,
	/**
	 * Landscape.
	 */
	LANDSCAPE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Type of Property.
 * @enum {number}
 */
const PropType = {
	/**
	 * String.
	 */
	STRING,
	/**
	 * Boolean.
	 */
	BOOL,
	/**
	 * Date.
	 */
	DATE,
	/**
	 * Number.
	 */
	NUMBER,

}

/**
 * Utility class containing constants.
 * Represents how to position two rectangles relative to each other.
 * @enum {number}
 */
const RectangleAlignmentType = {
	/**
	 * Bottom
	 */
	BOTTOM,
	/**
	 * BottomLeft
	 */
	BOTTOM_LEFT,
	/**
	 * BottomRight
	 */
	BOTTOM_RIGHT,
	/**
	 * Center
	 */
	CENTER,
	/**
	 * Left
	 */
	LEFT,
	/**
	 * Right
	 */
	RIGHT,
	/**
	 * Top
	 */
	TOP,
	/**
	 * TopLeft
	 */
	TOP_LEFT,
	/**
	 * TopRight
	 */
	TOP_RIGHT,

}

/**
 * Utility class containing constants.
 * @enum {number}
 */
const ReflectionEffectType = {
	/**
	 * No reflection effect.
	 */
	NONE,
	/**
	 * Custom reflection effect.
	 */
	CUSTOM,
	/**
	 * Tight reflection, touching.
	 */
	TIGHT_REFLECTION_TOUCHING,
	/**
	 * Half reflection, touching.
	 */
	HALF_REFLECTION_TOUCHING,
	/**
	 * Full reflection, touching.
	 */
	FULL_REFLECTION_TOUCHING,
	/**
	 * Tight reflection, 4 pt offset.
	 */
	TIGHT_REFLECTION_4_PT_OFFSET,
	/**
	 * Half reflection, 4 pt offset.
	 */
	HALF_REFLECTION_4_PT_OFFSET,
	/**
	 * Full reflection, 4 pt offset.
	 */
	FULL_REFLECTION_4_PT_OFFSET,
	/**
	 * Tight reflection, 8 pt offset.
	 */
	TIGHT_REFLECTION_8_PT_OFFSET,
	/**
	 * Half reflection, 8 pt offset.
	 */
	HALF_REFLECTION_8_PT_OFFSET,
	/**
	 * Full reflection, 8 pt offset.
	 */
	FULL_REFLECTION_8_PT_OFFSET,

}

/**
 * Utility class containing constants.
 * Stores the relationships between shapes.
 * @enum {number}
 */
const RelationFlag = {
	/**
	 * Shapes that are members of this container.
	 */
	MEMBERS_OF_CONTAINER_SHAPES,
	/**
	 * Shapes that are members of this list.
	 */
	MEMBERS_OF_LIST_SHAPES,
	/**
	 * Callouts that are associated with this shape.
	 */
	ASSOCIATED_WITH_CALLOUTS,
	/**
	 * Containers that this shape is a member of.
	 */
	MEMBER_OF_CONTAINERS,
	/**
	 * List that this list item is a member of
	 */
	MEMBER_OF_LIST,
	/**
	 * Shape associated with this callout
	 */
	SHAPE_ASSOCIATED_WITH_CALLOUT,
	/**
	 * Container on the left boundary edge of which this shape sits
	 */
	LEFT_BOUNDARY_EDGE,
	/**
	 * Container on the right boundary edge of which this shape sits
	 */
	RIGHT_BOUNDARY_EDGE,
	/**
	 * Container on the top boundary edge of which this shape sits
	 */
	TOP_BOUNDARY_EDGE,
	/**
	 * Container on the bottom boundary edge of which this shape sits
	 */
	BOTTOM_BOUNDARY_EDGE,
	/**
	 * List that this list overlaps
	 */
	LIST_OVERLAPS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the remove hidden info for the diagram.
 * @enum {number}
 */
const RemoveHiddenInfoItem = {
	/**
	 * PersonalInfo.
	 */
	PERSONAL_INFO,
	/**
	 * Shapes.
	 */
	SHAPES,
	/**
	 * Masters.
	 */
	MASTERS,
	/**
	 * Styles.
	 */
	STYLES,
	/**
	 * DataRecordSets.
	 */
	DATA_RECORD_SETS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the current resize behavior setting for the shape when contained in a group.
 * @enum {number}
 */
const ResizeModeValue = {
	/**
	 * Use group's setting
	 */
	USE_GROUP_SETTING,
	/**
	 * Reposition only.
	 */
	REPOSITION_ONLY,
	/**
	 * Scale with group.
	 */
	SCALE_WITH_GROUP,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the type of projection of the effect properties of a shape
 * @enum {number}
 */
const RotationTypeValue = {
	/**
	 * Specifies no 3D effects rotation.
	 */
	NONE,
	/**
	 * Specifies that a parallel projection is applied to the 3D effect properties.
	 */
	PARALLEL,
	/**
	 * Specifies that the shape rotates in perspective projection.
	 */
	PERSPECTIVE,
	/**
	 * Specifies that the shape rotates in oblique projection from the top left corner of the bounding box of the shape.
	 */
	OBLIQUE_FROM_TOP_LEFT,
	/**
	 * Specifies that the shape rotates oblique projection from the top right corner of the bounding box of the shape.
	 */
	OBLIQUE_FROM_TOP_RIGHT,
	/**
	 * Specifies that the shape rotates oblique projection from the bottom left corner of the bounding box of the shape.
	 */
	OBLIQUE_FROM_BOTTOM_LEFT,
	/**
	 * Specifies that the shape rotates oblique projection from the bottom right corner of the bounding box of the shape.
	 */
	OBLIQUE_FROM_BOTTOM_RIGHT,
	/**
	 * No light rig.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the routing style and direction for all dynamic connectors on the drawing page that don't have a local routing style.
 * @enum {number}
 */
const RouteStyleValue = {
	/**
	 * Default. Right angle.
	 */
	DEFAULT_RIGHT_ANGLE,
	/**
	 * Right angle.
	 */
	RIGHT_ANGLE,
	/**
	 * Straight.
	 */
	STRAIGHT,
	/**
	 * Organization chart top to bottom.
	 */
	ORGANIZATION_CHART_TOP_TO_BOTTOM,
	/**
	 * Organization chart left to right.
	 */
	ORGANIZATION_CHART_LEFT_TO_RIGHT,
	/**
	 * Flow chart top to bottom.
	 */
	FLOWCHART_TOP_TO_BOTTOM,
	/**
	 * Flow chart left to right.
	 */
	FLOWCHART_LEFT_TO_RIGHT,
	/**
	 * Tree top to bottom.
	 */
	TREE_TOP_TO_BOTTOM,
	/**
	 * Tree left to right.
	 */
	TREE_LEFT_TO_RIGHT,
	/**
	 * Network.
	 */
	NETWORK,
	/**
	 * Organization chart bottom to top.
	 */
	ORGANIZATION_CHART_BOTTOM_TO_TOP,
	/**
	 * Organization chart right to left.
	 */
	ORGANIZATION_CHART_RIGHT_TO_LEFT,
	/**
	 * Flowchart bottom to top.
	 */
	FLOWCHART_BOTTOM_TO_TOP,
	/**
	 * Flowchart right to left.
	 */
	FLOWCHART_RIGHT_TO_LEFT,
	/**
	 * Tree bottom to top.
	 */
	TREE_BOTTOM_TO_TOP,
	/**
	 * Tree right to left.
	 */
	TREE_RIGHT_TO_LEFT,
	/**
	 * Center to center.
	 */
	CENTER_TO_CENTER,
	/**
	 * Simple top to bottom.
	 */
	SIMPLE_TOP_TO_BOTTOM,
	/**
	 * Simple left to right.
	 */
	SIMPLE_LEFT_TO_RIGHT,
	/**
	 * Simple bottom to top.
	 */
	SIMPLE_BOTTOM_TO_TOP,
	/**
	 * Simple right to left.
	 */
	SIMPLE_RIGHT_TO_LEFT,
	/**
	 * Simple horizontal vertical.
	 */
	SIMPLE_HORIZONTAL_VERTICAL,
	/**
	 * Simple vertical horizontal.
	 */
	SIMPLE_VERTICAL_HORIZONTAL,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the horizontal subdivisions on the ruler for the page.
 * @enum {number}
 */
const RulerDensityValue = {
	/**
	 * Coarse.
	 */
	COARSE,
	/**
	 * Normal.
	 */
	NORMAL,
	/**
	 * Fine.
	 */
	FINE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Enumeration for saving diagram format selection.
 * @enum {number}
 */
const SaveFileFormat = {
	/**
	 * MS Visio Vdx xml format.
	 */
	VDX,
	/**
	 * MS Visio Vsx xml stencil format.
	 */
	VSX,
	/**
	 * MS Visio Vst xml template format.
	 */
	VTX,
	/**
	 * Tiff image format.
	 */
	TIFF,
	/**
	 * Png image format.
	 */
	PNG,
	/**
	 * Bmp image format.
	 */
	BMP,
	/**
	 * EMF image format.
	 */
	EMF,
	/**
	 * Jpeg image format.
	 */
	JPEG,
	/**
	 * Pdf format.
	 */
	PDF,
	/**
	 * Xps format.
	 */
	XPS,
	/**
	 * Gif format.
	 */
	GIF,
	/**
	 * Html format.
	 */
	HTML,
	/**
	 * Svg format.
	 */
	SVG,
	/**
	 * Xaml format.
	 */
	XAML,
	/**
	 * MS Visio 2013 Vsdx file format.
	 */
	VSDX,
	/**
	 * MS Visio 2013 Vstx file format,Template file.
	 */
	VSTX,
	/**
	 * MS Visio 2013 Vssx file format
	 */
	VSSX,
	/**
	 * MS Visio Vsdm file format which enable macros.
	 */
	VSDM,
	/**
	 * MS Visio Vssm file format which enable macros.
	 */
	VSSM,
	/**
	 * MS Visio Vstm file format which enable macros.
	 */
	VSTM,
	/**
	 * Comma-Separated Values(CSV) text file.
	 */
	CSV,

}

/**
 * Utility class containing constants.
 * Specifies how the user selects a group shape and its members.
 * @enum {number}
 */
const SelectModeValue = {
	/**
	 * Select the group shape only.
	 */
	GROUP_SHAPE_ONLY,
	/**
	 * Select the group shape first.
	 */
	GROUP_SHAPE_FIRST,
	/**
	 * Select the members of the group first.
	 */
	MEMBERS_GROUP_FIRST,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies placement behavior for a placeable shape.
 * @enum {number}
 */
const ShapeFixedCodeValue = {
	/**
	 * Don't move this shape when using the Lay Out Shapes command in Microsoft Visio.
	 */
	NO_MOVE_USING_LAY_OUT_SHAPES,
	/**
	 * Don't move this shape and do not allow other placeable shapes to be placed on it.
	 */
	NO_MOVE_AND_NO_ALLOW_SHAPES_PLACED,
	/**
	 * Don't move this shape but do allow other placeable shapes to be placed on it.
	 */
	NO_MOVE_ALLOW_SHAPES_PLACED,
	/**
	 * Ignore connection point locations when being routed to.
	 */
	IGNORE_CONNECTION_POINT,
	/**
	 * Only allow routing to sides with connection points.
	 */
	ALLOW_ROUTING_TO_SIDES_WITH_CONNECTION_POINTS,
	/**
	 * Don't glue to the perimeter of this shape. Glue to the shape's alignment box instead.
	 */
	NO_GLUE_TO_PERIMETER,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies how a placeable shape flips and/or rotates on the page when a user selects Lay Out Shapes (Shapes menu).
 * @enum {number}
 */
const ShapePlaceFlipValue = {
	/**
	 * Use page default.
	 */
	USE_PAGE_DEFAULT,
	/**
	 * Flip horizontal.
	 */
	FLIP_HORIZONTAL,
	/**
	 * Flip vertical.
	 */
	FLIP_VERTICAL,
	/**
	 * Flip in 90 degree increments between 0 and 270.
	 */
	FLIP_90_DEGREE_INCREMENT_BETWEEN_0_AND_270,
	/**
	 * No flip.
	 */
	NO_FLIP,
	/**
	 * Undefined
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Determines the placement style for children.
 * @enum {number}
 */
const ShapePlaceStyleValue = {
	/**
	 * Place default.
	 */
	PLACE_DEFAULT,
	/**
	 * Place top to bottom.
	 */
	PLACE_TOP_TO_BOTTOM,
	/**
	 * Place to right.
	 */
	PLACE_TO_RIGHT,
	/**
	 * Place radial.
	 */
	PLACE_RADIAL,
	/**
	 * Place bottom to top.
	 */
	PLACE_BOTTOM_TO_TOP,
	/**
	 * Place right to left.
	 */
	PLACE_RIGHT_TO_LEFT,
	/**
	 * Place circular.
	 */
	PLACE_CIRCULAR,
	/**
	 * Place compact down right.
	 */
	PLACE_COMPACT_DOWN_RIGHT,
	/**
	 * Place compact right down.
	 */
	PLACE_COMPACT_RIGHT_DOWN,
	/**
	 * Place compact right up.
	 */
	PLACE_COMPACT_RIGHT_UP,
	/**
	 * Place compact up right.
	 */
	PLACE_COMPACT_UP_RIGHT,
	/**
	 * Place compact up left.
	 */
	PLACE_COMPACT_UP_LEFT,
	/**
	 * Place compact left up.
	 */
	PLACE_COMPACT_LEFT_UP,
	/**
	 * Place compact left down.
	 */
	PLACE_COMPACT_LEFT_DOWN,
	/**
	 * Place compact down left.
	 */
	PLACE_COMPACT_DOWN_LEFT,
	/**
	 * Place parent default.
	 */
	PLACE_PARENT_DEFAULT,
	/**
	 * Place hierarchy top to bottom left.
	 */
	PLACE_HIERARCHY_TOP_TO_BOTTOM_LEFT,
	/**
	 * Place hierarchy top to bottom center.
	 */
	PLACE_HIERARCHY_TOP_TO_BOTTOM_CENTER,
	/**
	 * Place hierarchy top to bottom right.
	 */
	PLACE_HIERARCHY_TOP_TO_BOTTOM_RIGHT,
	/**
	 * Place hierarchy bottom to left.
	 */
	PLACE_HIERARCHY_BOTTOM_TO_LEFT,
	/**
	 * Place hierarchy bottom to center.
	 */
	PLACE_HIERARCHY_BOTTOM_TO_CENTER,
	/**
	 * Place hierarchy bottom to right.
	 */
	PLACE_HIERARCHY_BOTTOM_TO_RIGHT,
	/**
	 * Place hierarchy left to right top.
	 */
	PLACE_HIERARCHY_LEFT_TO_RIGHT_TOP,
	/**
	 * Place hierarchy left to right middle.
	 */
	PLACE_HIERARCHY_LEFT_TO_RIGHT_MIDDLE,
	/**
	 * place hierarchy left to right bottom.
	 */
	PLACE_HIERARCHY_LEFT_TO_RIGHT_BOTTOM,
	/**
	 * Place hierarchy right to left top.
	 */
	PLACE_HIERARCHY_RIGHT_TO_LEFT_TOP,
	/**
	 * Place hierarchy right to left top.
	 */
	PLACE_HIERARCHY_RIGHT_TO_LEFT_MIDDLE,
	/**
	 * Place hierarchy right to left bottom.
	 */
	PLACE_HIERARCHY_RIGHT_TO_LEFT_BOTTOM,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies whether a placeable shape moves away when you drag another placeable shape near the shape on the drawing page.
 * @enum {number}
 */
const ShapePlowCodeValue = {
	/**
	 * Use page default.
	 */
	USE_PAGE_DEFAULT,
	/**
	 * Do not move shape.
	 */
	NOMOVE_SHAPE,
	/**
	 * Move shape.
	 */
	MOVE_SHAPE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the routing style and direction for a connector on the drawing page.
 * @enum {number}
 */
const ShapeRouteStyleValue = {
	/**
	 * Page default.
	 */
	PAGE_DEFAULT,
	/**
	 * Right angle.
	 */
	RIGHT_ANGLE,
	/**
	 * Straight.
	 */
	STRAIGHT,
	/**
	 * Organization chart. Direction Top to bottom.
	 */
	ORGANIZATION_CHART_TOP_TO_BOTTOM,
	/**
	 * Organization chart. Left to right.
	 */
	ORGANIZATION_CHART_LEFT_TO_RIGHT,
	/**
	 * Flowchart. Top to bottom.
	 */
	FLOWCHART_TOP_TO_BOTTOM,
	/**
	 * Flowchart. Left to right.
	 */
	FLOWCHART_LEFT_TO_RIGHT,
	/**
	 * Tree. Top to bottom.
	 */
	TREE_TOP_TO_BOTTOM,
	/**
	 * Tree. Left to right
	 */
	TREE_LEFT_TO_RIGHT,
	/**
	 * Network
	 */
	NETWORK,
	/**
	 * Organization chart. Bottom to top.
	 */
	ORGANIZATION_CHART_BOTTOM_TO_TOP,
	/**
	 * Organization chart. Right to left.
	 */
	ORGANIZATION_CHART_RIGHT_TO_LEFT,
	/**
	 * Flowchart. Bottom to top.
	 */
	FLOWCHART_BOTTOM_TO_TOP,
	/**
	 * Flowchart. Right to left.
	 */
	FLOWCHART_RIGHT_TO_LEFT,
	/**
	 * Tree. Bottom to top.
	 */
	TREE_BOTTOM_TO_TOP,
	/**
	 * Tree. Right to left.
	 */
	TREE_RIGHT_TO_LEFT,
	/**
	 * Center to center.
	 */
	CENTER_TO_CENTER,
	/**
	 * Simple. Top to bottom.
	 */
	SIMPLE_TOP_TO_BOTTOM,
	/**
	 * Simple. Left to right.
	 */
	SIMPLE_LEFT_TO_RIGHT,
	/**
	 * Simple. Bottom to top.
	 */
	SIMPLE_BOTTOM_TO_TOP,
	/**
	 * Simple. Right to left.
	 */
	SIMPLE_RIGHT_TO_LEFT,
	/**
	 * Simple horizontal-vertical.
	 */
	SIMPLE_HORIZONTAL_VERTICAL,
	/**
	 * Simple vertical-horizontal.
	 */
	SIMPLE_VERTICAL_HORIZONTAL,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the type of shadow for a shape.
 * @enum {number}
 */
const ShapeShdwShowValue = {
	/**
	 * Specifies that the shadow effect set is displayed only if the shape has a Geometry Section_Type.
	 */
	HAS_GEOM_SHOW,
	/**
	 * Specifies that the shadow effect set is displayed only if the shape has a Geometry Section_Type
	 * and the shape is a top-level shape.
	 */
	TOP_LEVEL_SHOW,
	/**
	 * Specifies that the shadow effect set is always displayed.
	 */
	ALWAYS_SHOW,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the type of shadow for a shape.
 * @enum {number}
 */
const ShapeShdwTypeValue = {
	/**
	 * Use page default (the default).
	 */
	USE_PAGE,
	/**
	 * Simple.
	 */
	SIMPLE,
	/**
	 * Oblique.
	 */
	OBLIQUE,
	/**
	 * Inner
	 */
	INNER,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Indicates the default shadow type for a page.
 * @enum {number}
 */
const ShdwTypeValue = {
	/**
	 * Simple.
	 */
	SIMPLE,
	/**
	 * Oblique.
	 */
	OBLIQUE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies when to show the drop button
 * @enum {number}
 */
const ShowDropButtonType = {
	/**
	 * Never show the drop button.
	 */
	NEVER,
	/**
	 * Show the drop button when the control has the focus.
	 */
	FOCUS,
	/**
	 * Always show the drop button.
	 */
	ALWAYS,

}

/**
 * Utility class containing constants.
 * Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas.
 * @enum {number}
 */
const SmoothingMode = {
	/**
	 * Specifies an invalid mode.
	 */
	INVALID,
	/**
	 * Specifies no antialiasing.
	 */
	DEFAULT,
	/**
	 * Specifies no antialiasing.
	 */
	HIGH_SPEED,
	/**
	 * Specifies antialiased rendering.
	 */
	HIGH_QUALITY,
	/**
	 * Specifies no antialiasing.
	 */
	NONE,
	/**
	 * Specifies antialiased rendering.
	 */
	ANTI_ALIAS,

}

/**
 * Utility class containing constants.
 * Specifies whether a specific snap extension setting is enabled or disabled for the active window. The value can be a sum of the values.
 * @enum {number}
 */
const SnapExtensions = {
	/**
	 * Snap to nothing.
	 */
	NONE,
	/**
	 * Snap to alignment box extension.
	 */
	ALIGNMENT_BOX_EXTENSION,
	/**
	 * Snap to center axis extension.
	 */
	CENTER_AXES,
	/**
	 * Snap to curve tangent extension.
	 */
	CURVE_TANGENT,
	/**
	 * Snap to end point extension.
	 */
	ENDPOINT,
	/**
	 * Snap to mid point extension.
	 */
	MIDPOINT,
	/**
	 * Snap to linear extension.
	 */
	LINEAR_EXTENSION,
	/**
	 * Snap to curve extension.
	 */
	CURVE_EXTENSION,
	/**
	 * Snap to end point perpendicular extension.
	 */
	ENDPOINT_PERPENDICULAR,
	/**
	 * Snap to mid point perpendicular extension.
	 */
	MIDPOINT_PERPENDICULAR,
	/**
	 * Snap to end point horizontal extension.
	 */
	ENDPOINT_HORIZONTAL,
	/**
	 * Snap to end point vertical extension.
	 */
	ENDPOINT_VERTICAL,
	/**
	 * Snap to ellipse center extension.
	 */
	ELLIPSE_CENTER,
	/**
	 * Snap to isometric angles extension.
	 */
	ISOMETRIC_ANGLES,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies whether a specific snap extension setting is enabled or disabled for the active window. The value can be a sum of the values in the following table.
 * @enum {number}
 */
const SnapExtensionsValue = {
	/**
	 * Snap to nothing.
	 */
	SNAP_TO_NOTHING,
	/**
	 * Snap to alignment box extension.
	 */
	SNAP_TO_ALIGNMENT_BOX_EXTENSION,
	/**
	 * Snap to center axis extension.
	 */
	SNAP_TO_CENTER_AXIS_EXTENSION,
	/**
	 * Snap to curve tangent extension.
	 */
	SNAP_TO_CURVE_TANGENT_EXTENSION,
	/**
	 * Snap to end point extension.
	 */
	SNAP_TO_END_POINT_EXTENSION,
	/**
	 * Snap to mid point extension.
	 */
	SNAP_TO_MID_POINT_EXTENSION,
	/**
	 * Snap to linear extension.
	 */
	SNAP_TO_LINEAR_EXTENSION,
	/**
	 * Snap to curve extension.
	 */
	SNAP_TO_CURVE_EXTENSION,
	/**
	 * Snap to end point perpendicular extension.
	 */
	SNAP_TO_END_POINT_PERPENDICULAR_EXTENSION,
	/**
	 * Snap to mid point perpendicular extension.
	 */
	SNAP_TO_MID_POINT_PERPENDICULAR_EXTENSION,
	/**
	 * Snap to end point horizontal extension.
	 */
	SNAP_TO_END_POINT_HORIZONTAL_EXTENSION,
	/**
	 * Snap to end point vertical extension.
	 */
	SNAP_TO_END_POINT_VERTICAL_EXTENSION,
	/**
	 * Snap to ellipse center extension.
	 */
	SNAP_TO_ELLIPSE_CENTER_EXTENSION,
	/**
	 * Snap to isometric angles extension.
	 */
	SNAP_TO_ISOMETRIC_ANGLES_EXTENSION,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the objects that shapes snap to when snap is active in the window. The value may be a sum of the values.
 * @enum {number}
 */
const SnapSettings = {
	/**
	 * Snap to nothing.
	 */
	NONE,
	/**
	 * Snap to ruler subdivisions.
	 */
	RULER_SUBDIVISIONS,
	/**
	 * Snap to grid.
	 */
	GRID,
	/**
	 * Snap to guides.
	 */
	GUIDES,
	/**
	 * Snap to selection handles.
	 */
	HANDLES,
	/**
	 * Snap to vertices.
	 */
	VERTICES,
	/**
	 * Snap to connection points.
	 */
	CONNECTION_POINTS,
	/**
	 * Snap to the visible edges of shapes.
	 */
	GEOMETRY,
	/**
	 * Snap to alignment box.
	 */
	ALIGNMENT_BOX,
	/**
	 * Snap to shape extensions options.
	 */
	EXTENSIONS,
	/**
	 * Snap disabled.
	 */
	DISABLED,
	/**
	 * Snap to intersections.
	 */
	INTERSECTIONS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the objects that shapes snap to when snap is active in the window
 * @enum {number}
 */
const SnapSettingsValue = {
	/**
	 * Snap to nothing.
	 */
	SNAP_TO_NOTHING,
	/**
	 * Snap to ruler subdivisions.
	 */
	SNAP_TO_RULER_SUBDIVISIONS,
	/**
	 * Snap to grid.
	 */
	SNAP_TO_GRID,
	/**
	 * Snap to guides.
	 */
	SNAP_TO_GUIDES,
	/**
	 * Snap to selection handles.
	 */
	SNAP_TO_SELECTION_HANDLES,
	/**
	 * Snap to vertices.
	 */
	SNAP_TO_VERTICES,
	/**
	 * Snap to connection points.
	 */
	SNAP_TO_CONNECTION_POINTS,
	/**
	 * Snap to the visible edges of shapes.
	 */
	SNAP_TO_THE_VISIBLE_EDGES_OF_SHAPES,
	/**
	 * Snap to alignment box.
	 */
	SNAP_TO_ALIGNMENT_BOX,
	/**
	 * Snap to shape extensions options.
	 */
	SNAP_TO_SHAPE_EXTENSIONS_OPTIONS,
	/**
	 * Snap disabled.
	 */
	SNAP_DISABLED,
	/**
	 * Snap to intersections.
	 */
	SNAP_TO_INTERSECTIONS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the character formatting applied to a range of text in the shape's text block.
 * @enum {number}
 */
const StyleValue = {
	/**
	 * Bold.
	 */
	BOLD,
	/**
	 * Italic.
	 */
	ITALIC,
	/**
	 * Underline.
	 */
	UNDERLINE,
	/**
	 * Small caps.
	 */
	SMALL_CAPS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the direction of the characters in a text block.
 * @enum {number}
 */
const TextDirectionValue = {
	/**
	 * Horizontal.
	 */
	HORIZONTAL,
	/**
	 * Vertical.
	 */
	VERTICAL,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies what type of compression to apply when saving pages to the TIFF format.
 * @enum {number}
 */
const TiffCompression = {
	/**
	 * Specifies no compression.
	 */
	NONE,
	/**
	 * Specifies the RLE compression scheme.
	 */
	RLE,
	/**
	 * Specifies the LZW compression scheme.
	 */
	LZW,
	/**
	 * Specifies the CCITT3 compression scheme.
	 */
	CCITT_3,
	/**
	 * Specifies the CCITT4 compression scheme.
	 */
	CCITT_4,

}

/**
 * Utility class containing constants.
 * The part of a shape to which a connection is made.
 * @enum {number}
 */
const ToPartValue = {
	/**
	 * None.
	 */
	NONE,
	/**
	 * GuideX.
	 */
	GUIDE_X,
	/**
	 * GuideY.
	 */
	GUIDE_Y,
	/**
	 * Whole shape.
	 */
	WHOLE_SHAPE,
	/**
	 * Guide intersection.
	 */
	GUIDE_INTERSECTION,
	/**
	 * To angle.
	 */
	TO_ANGLE,
	/**
	 * Connection point.
	 */
	CONNECTION_POINT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies various types, based on the element in which it is contained.
 * @enum {number}
 */
const TypeConnectionValue = {
	/**
	 * Inward.
	 */
	INWARD,
	/**
	 * Outward.
	 */
	OUTWARD,
	/**
	 * Inward and outward.
	 */
	INWARD_OUTWARD,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Type specifies a data type for the text field value.
 * @enum {number}
 */
const TypeFieldValue = {
	/**
	 * String.
	 */
	STRING,
	/**
	 * Number. Includes date, time, duration, and currency values as well as scalars, dimensions, and angles.
	 */
	NUMBER,
	/**
	 * Date or time value. Displays days, months, and years, or seconds, minutes, and hours, or a combined date and time value.
	 */
	DATE_TIME,
	/**
	 * Duration value. Displays elapsed time.
	 */
	DURATION,
	/**
	 * Currency value. Uses the system's current regional settings.
	 */
	CURRENCY,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Type specifies a data type for the custom property value.
 * @enum {number}
 */
const TypePropValue = {
	/**
	 * String. This is the default.
	 */
	STRING,
	/**
	 * Fixed list. Displays the list items in a drop-down combo box in the Custom Properties dialog box.
	 */
	FIXED_LIST,
	/**
	 * Number. Includes date, time, duration, and currency values as well as scalars, dimensions, and angles.
	 */
	NUMBER,
	/**
	 * Boolean. Displays FALSE and TRUE as items users can select from a drop-down list box in the Custom Properties dialog box in the Visio application.
	 */
	BOOLEAN,
	/**
	 * Variable list. Displays the list items in a drop-down combo box in the Custom Properties dialog box in Visio. Users can select a list item or enter a new item that is added to the current list in the Format element.
	 */
	VARIABLE_LIST,
	/**
	 * Date or time value. Displays days, months, and years, or seconds, minutes, and hours, or a combined date and time value.
	 */
	DATE_TIME,
	/**
	 * Duration value. Displays elapsed time.
	 */
	DURATION,
	/**
	 * Currency value. Uses the system's current Regional Settings.
	 */
	CURRENCY,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Optional enumeration. The type of a shape.
 * @enum {number}
 */
const TypeValue = {
	/**
	 * Group.
	 */
	GROUP,
	/**
	 * Shape.
	 */
	SHAPE,
	/**
	 * Guide.
	 */
	GUIDE,
	/**
	 * Foreign.
	 */
	FOREIGN,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the tab alignment.
 * @enum {number}
 */
const UIVisibilityValue = {
	/**
	 * Visible .
	 */
	VISIBLE,
	/**
	 * Hidden.
	 */
	HIDDEN,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Represents the type of VBA module.
 * @enum {number}
 */
const VbaModuleType = {
	/**
	 * Represents a procedural module.
	 */
	PROCEDURAL,
	/**
	 * Represents a document module.
	 */
	DOCUMENT,
	/**
	 * Represents a class module.
	 */
	CLASS,
	/**
	 * Represents a designer module.
	 */
	DESIGNER,

}

/**
 * Utility class containing constants.
 * Represents the type of VBA project reference.
 * @enum {number}
 */
const VbaProjectReferenceType = {
	/**
	 * Specifies a reference to an Automation type library.
	 */
	REGISTERED,
	/**
	 * Specifies a reference to a twiddled type library and its extended type library.
	 */
	CONTROL,
	/**
	 * Specifies a reference to an external VBA project.
	 */
	PROJECT,

}

/**
 * Utility class containing constants.
 * Specifies the vertical alignment of text within the text block.
 * @enum {number}
 */
const VerticalAlignValue = {
	/**
	 * Top.
	 */
	TOP,
	/**
	 * Middle.
	 */
	MIDDLE,
	/**
	 * Bottom.
	 */
	BOTTOM,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies contents that define the target of the validation rule; passed to and returned by the ValidationRule.TargetType property.
 * @enum {number}
 */
const VisRuleTargetsValue = {
	/**
	 * The rule applies to the document itself.
	 */
	VIS_RULE_TARGET_SHAPE,
	/**
	 * The rule applies to pages in the document.
	 */
	VIS_RULE_TARGET_PAGE,
	/**
	 * The rule applies to shapes in the document.
	 */
	VIS_RULE_TARGET_DOCUMENT,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies whether an endpoint of a 1-D shape moves to a horizontal or vertical connection point on the shape it is glued to, using dynamic glue, when the shape is moved to an ambiguous position.
 * @enum {number}
 */
const WalkPreferenceValue = {
	/**
	 * The default. Both endpoints of the 1-D shape move to horizontal connection points (side-to-side connections).
	 */
	SIDE_TO_SIDE_CONNECTIONS,
	/**
	 * The begin point of the 1-D shape moves to a vertical connection point, and the end point moves to a horizontal connection point (top-to-side or bottom-to-side connections).
	 */
	TOP_TO_SIDE_OR_BOTTOM_TO_SIDE_CONNECTIONS,
	/**
	 * The begin point of the 1-D shape moves to a horizontal connection point, and the end point moves to a vertical connection point (side-to-top or side-to-bottom connections).
	 */
	SIDE_TO_TOP_OR_SIDE_TO_BOTTOM_CONNECTIONS,
	/**
	 * Both endpoints of the 1-D shape move to vertical connection points (top-to-bottom connections).
	 */
	TOP_TO_BOTTOM_CONNECTIONS,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * WarningType
 * @enum {number}
 */
const WarningType = {
	/**
	 * Font substitution warning type
	 * when a font has not been found, this warning type can be get.
	 */
	FONT_SUBSTITUTION,

}

/**
 * Utility class containing constants.
 * An integer specifying bit flags. This attribute can be a sum of the following values.
 * @enum {number}
 */
const WindowStateValue = {
	/**
	 * Restored.
	 */
	RESTORED,
	/**
	 * Maximized.
	 */
	MAXIMIZED,
	/**
	 * Minimized.
	 */
	MINIMIZED,
	/**
	 * Docked left.
	 */
	DOCKED_LEFT,
	/**
	 * Docked top.
	 */
	DOCKED_TOP,
	/**
	 * Docked right.
	 */
	DOCKED_RIGHT,
	/**
	 * Docked bottom.
	 */
	DOCKED_BOTTOM,
	/**
	 * Doubleing.
	 */
	DOUBLEING,
	/**
	 * Anchor left.
	 */
	ANCHOR_LEFT,
	/**
	 * Anchor top.
	 */
	ANCHOR_TOP,
	/**
	 * Anchor right.
	 */
	ANCHOR_RIGHT,
	/**
	 * Anchor bottom.
	 */
	ANCHOR_BOTTOM,
	/**
	 * Anchor merged.
	 */
	ANCHOR_MERGED,
	/**
	 * Active.
	 */
	ACTIVE,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * An enumerated value that may be one of the following: Drawing, Sheet, Stencil, or Icon. A Window element of WindowType='Stencil' must appear after its parent drawing window (WindowType='Drawing') and before any other drawing window elements.
 * @enum {number}
 */
const WindowTypeValue = {
	/**
	 * Drawing
	 */
	DRAWING,
	/**
	 * Stencil.
	 */
	STENCIL,
	/**
	 * Sheet
	 */
	SHEET,
	/**
	 * Icon.
	 */
	ICON,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * The x-offset of the smart tag button relative to the point defined by the X and Y elements.
 * @enum {number}
 */
const XJustifyValue = {
	/**
	 * Left justified (the default).
	 */
	LEFT_JUSTIFIED,
	/**
	 * Centered.
	 */
	CENTERED,
	/**
	 * Right justified.
	 */
	RIGHT_JUSTIFIED,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}

/**
 * Utility class containing constants.
 * Specifies the y-offset of the smart tag button relative to the point defined by the X and Y elements.
 * @enum {number}
 */
const YJustifyValue = {
	/**
	 * Top justified (the default).
	 */
	TOP_JUSTIFIED,
	/**
	 * Centered.
	 */
	CENTERED,
	/**
	 * Bottom justified.
	 */
	BOTTOM_JUSTIFIED,
	/**
	 * Undefined.
	 */
	UNDEFINED,

}