import { OjWebElement } from '../';

/**
 * This is the base class for oj-gantt WebElement, and is generated from the
 * component's metadata. Do not modify these contents since they'll be replaced
 * during the next generation.
 * Put overrides into the WebElements's subclass, OjGantt.ts.
 */
export class OjGanttBase extends OjWebElement {
  /**
   * Gets the value of <code>animationOnDataChange</code> property.
   * Defines the animation that is applied on data changes.
   * @return The value of <code>animationOnDataChange</code> property.
   *
   */
  public getAnimationOnDataChange(): Promise<string> {
    return this.getProperty<string>('animationOnDataChange');
  }

  /**
   * Gets the value of <code>animationOnDisplay</code> property.
   * Defines the animation that is shown on initial display.
   * @return The value of <code>animationOnDisplay</code> property.
   *
   */
  public getAnimationOnDisplay(): Promise<string> {
    return this.getProperty<string>('animationOnDisplay');
  }

  /**
   * Gets the value of <code>as</code> property.
   * An alias for the '$current' context variable passed to slot content for the dependencyTemplate, taskTemplate, or rowTemplate slots.
   * @return The value of <code>as</code> property.
   * @deprecated Since 6.2.0. Set the alias directly on the template element using the data-oj-as attribute instead.
   */
  public getAs(): Promise<string> {
    return this.getProperty<string>('as');
  }

  /**
   * Gets the value of <code>axisPosition</code> property.
   * The position of the major and minor axis.
   * @return The value of <code>axisPosition</code> property.
   *
   */
  public getAxisPosition(): Promise<string> {
    return this.getProperty<string>('axisPosition');
  }

  /**
   * Gets the value of <code>dependencies</code> property.
   * An array of objects that defines dependencies between tasks. See the Help documentation for more information.
   * @return The value of <code>dependencies</code> property.
   *
   */
  public getDependencies(): Promise<Array<Dependencies> | null> {
    return this.getProperty<Array<Dependencies> | null>('dependencies');
  }

  /**
   * Gets the value of <code>dependencyLineShape</code> property.
   * Specifies the shape of the dependency lines.
   * @return The value of <code>dependencyLineShape</code> property.
   *
   */
  public getDependencyLineShape(): Promise<string> {
    return this.getProperty<string>('dependencyLineShape');
  }

  /**
   * Gets the value of <code>dnd</code> property.
   * Enables drag and drop functionality.
   * @return The value of <code>dnd</code> property.
   *
   */
  public getDnd(): Promise<Dnd> {
    return this.getProperty<Dnd>('dnd');
  }

  /**
   * Gets the value of <code>dragMode</code> property.
   * Specifies the action that is performed when a drag occurs.
   * @return The value of <code>dragMode</code> property.
   *
   */
  public getDragMode(): Promise<string> {
    return this.getProperty<string>('dragMode');
  }

  /**
   * Gets the value of <code>end</code> property.
   * The end time of the Gantt. See the Help documentation for more information.
   * @return The value of <code>end</code> property.
   *
   */
  public getEnd(): Promise<string> {
    return this.getProperty<string>('end');
  }

  /**
   * Gets the value of <code>gridlines</code> property.
   * An object specifying whether to display or hide the horizontal and vertical grid lines.
   * @return The value of <code>gridlines</code> property.
   *
   */
  public getGridlines(): Promise<Gridlines> {
    return this.getProperty<Gridlines>('gridlines');
  }

  /**
   * Gets the value of <code>majorAxis</code> property.
   * Specifies the major time axis. If not specified, no major time axis is shown.
   * @return The value of <code>majorAxis</code> property.
   *
   */
  public getMajorAxis(): Promise<MajorAxis> {
    return this.getProperty<MajorAxis>('majorAxis');
  }

  /**
   * Gets the value of <code>minorAxis</code> property.
   * Specifies the minor time axis. This is required for the Gantt to render properly.
   * @return The value of <code>minorAxis</code> property.
   *
   */
  public getMinorAxis(): Promise<MinorAxis> {
    return this.getProperty<MinorAxis>('minorAxis');
  }

  /**
   * Gets the value of <code>referenceObjects</code> property.
   * The array of reference objects associated with the Gantt. See the Help documentation for more information.
   * @return The value of <code>referenceObjects</code> property.
   *
   */
  public getReferenceObjects(): Promise<Array<ReferenceObjects>> {
    return this.getProperty<Array<ReferenceObjects>>('referenceObjects');
  }

  /**
   * Gets the value of <code>rowAxis</code> property.
   * Specifies properties for the row labels region.
   * @return The value of <code>rowAxis</code> property.
   *
   */
  public getRowAxis(): Promise<RowAxis> {
    return this.getProperty<RowAxis>('rowAxis');
  }

  /**
   * Gets the value of <code>rowDefaults</code> property.
   * Specifies default styling for rows in the Gantt.
   * @return The value of <code>rowDefaults</code> property.
   *
   */
  public getRowDefaults(): Promise<RowDefaults> {
    return this.getProperty<RowDefaults>('rowDefaults');
  }

  /**
   * Gets the value of <code>rows</code> property.
   * An array of objects used to define rows and tasks within rows. See the Help documentation for more information.
   * @return The value of <code>rows</code> property.
   *
   */
  public getRows(): Promise<Array<Rows> | null> {
    return this.getProperty<Array<Rows> | null>('rows');
  }

  /**
   * Sets the value of <code>scrollPosition</code> property.
   * The current scroll position of the Gantt. See the Help documentation for more information.
   * @param scrollPosition The value to set for <code>scrollPosition</code>
   *
   */
  public changeScrollPosition(scrollPosition: ScrollPosition): Promise<void> {
    return this.setProperty<ScrollPosition>('scrollPosition', scrollPosition);
  }

  /**
   * Gets the value of <code>scrollPosition</code> property.
   * The current scroll position of the Gantt. See the Help documentation for more information.
   * @return The value of <code>scrollPosition</code> property.
   *
   */
  public getScrollPosition(): Promise<ScrollPosition> {
    return this.getProperty<ScrollPosition>('scrollPosition');
  }

  /**
   * Sets the value of <code>selection</code> property.
   * An array containing the ids of the initially selected tasks.
   * @param selection The value to set for <code>selection</code>
   *
   */
  public changeSelection(selection: Array<any>): Promise<void> {
    return this.setProperty<Array<any>>('selection', selection);
  }

  /**
   * Gets the value of <code>selection</code> property.
   * An array containing the ids of the initially selected tasks.
   * @return The value of <code>selection</code> property.
   *
   */
  public getSelection(): Promise<Array<any>> {
    return this.getProperty<Array<any>>('selection');
  }

  /**
   * Gets the value of <code>selectionBehavior</code> property.
   * Specifies the action that is performed when a drag occurs.
   * @return The value of <code>selectionBehavior</code> property.
   *
   */
  public getSelectionBehavior(): Promise<string> {
    return this.getProperty<string>('selectionBehavior');
  }

  /**
   * Gets the value of <code>selectionMode</code> property.
   * Specifies the selection behavior of the Gantt. See the Help documentation for more information.
   * @return The value of <code>selectionMode</code> property.
   *
   */
  public getSelectionMode(): Promise<string> {
    return this.getProperty<string>('selectionMode');
  }

  /**
   * Gets the value of <code>start</code> property.
   * The start time of the Gantt. A valid value is required for the Gantt to render properly. See the Help documentation for more information.
   * @return The value of <code>start</code> property.
   *
   */
  public getStart(): Promise<string> {
    return this.getProperty<string>('start');
  }

  /**
   * Gets the value of <code>taskAggregation</code> property.
   * Specifies whether to apply a horizontally stacked visual treatment to adjacent tasks.
   * @return The value of <code>taskAggregation</code> property.
   *
   */
  public getTaskAggregation(): Promise<string> {
    return this.getProperty<string>('taskAggregation');
  }

  /**
   * Gets the value of <code>taskDefaults</code> property.
   * Specifies default styling for tasks in the Gantt.
   * @return The value of <code>taskDefaults</code> property.
   *
   */
  public getTaskDefaults(): Promise<TaskDefaults> {
    return this.getProperty<TaskDefaults>('taskDefaults');
  }

  /**
   * Gets the value of <code>timeCursor</code> property.
   * Specifies whether the time cursor is enabled.
   * @return The value of <code>timeCursor</code> property.
   *
   */
  public getTimeCursor(): Promise<string> {
    return this.getProperty<string>('timeCursor');
  }

  /**
   * Gets the value of <code>tooltip</code> property.
   * An object containing an optional callback function for tooltip customization.
   * @return The value of <code>tooltip</code> property.
   *
   */
  public getTooltip(): Promise<Tooltip> {
    return this.getProperty<Tooltip>('tooltip');
  }

  /**
   * Gets the value of <code>trackResize</code> property.
   * Defines whether the element will automatically render in response to changes in size. See the Help documentation for more information.
   * @return The value of <code>trackResize</code> property.
   *
   */
  public getTrackResize(): Promise<string> {
    return this.getProperty<string>('trackResize');
  }

  /**
   * Gets the value of <code>translations</code> property.
   * A collection of translated resources from the translation bundle, or null if this component has no resources.
   * @return The value of <code>translations</code> property.
   *
   */
  public getTranslations(): Promise<Translations | null> {
    return this.getProperty<Translations | null>('translations');
  }

  /**
   * Gets the value of <code>valueFormats</code> property.
   * An object specifying value formatting and tooltip behavior, whose keys generally correspond to task properties.
   * @return The value of <code>valueFormats</code> property.
   *
   */
  public getValueFormats(): Promise<ValueFormats> {
    return this.getProperty<ValueFormats>('valueFormats');
  }

  /**
   * Gets the value of <code>viewportEnd</code> property.
   * The Gantt viewport end time. See the Help documentation for more information.
   * @return The value of <code>viewportEnd</code> property.
   *
   */
  public getViewportEnd(): Promise<string> {
    return this.getProperty<string>('viewportEnd');
  }

  /**
   * Gets the value of <code>viewportStart</code> property.
   * The Gantt viewport start time. See the Help documentation for more information.
   * @return The value of <code>viewportStart</code> property.
   *
   */
  public getViewportStart(): Promise<string> {
    return this.getProperty<string>('viewportStart');
  }

  /**
   * Gets the value of <code>zooming</code> property.
   * Specifies whether zooming is allowed on the Gantt.
   * @return The value of <code>zooming</code> property.
   *
   */
  public getZooming(): Promise<string> {
    return this.getProperty<string>('zooming');
  }
}
export interface Dependencies {
  /**
   * The identifier for the dependency line. This must be unique across all dependency lines in Gantt. The id should be set by the application if the dependency-data DataProvider is not being used. The row key will be used as id in the case.
   */
  id: any;
  /**
   * The identifier for the predecessor task. This must reference a task in Gantt.
   */
  predecessorTaskId: any;
  /**
   * The description of the dependency line. This is used for accessibility.
   */
  shortDesc: string;
  /**
   * The identifier for the successor task. This must reference a task in Gantt.
   */
  successorTaskId: any;
  /**
   * A space delimited list of CSS style classes to apply to the dependency line.
   */
  svgClassName: string;
  /**
   * The CSS style defining the style of the dependency line. Only SVG CSS style properties are supported.
   */
  svgStyle: object;
  /**
   * The type of dependency.
   */
  type: string;
}
export interface Dnd {
  /**
   * Defines a subset of high level configurations for moving elements to another location within the Gantt.
   */
  move: DndMove;
}
export interface DndMove {
  /**
   * Enable or disable moving the non-baseline portions of selected tasks to a different location within the same Gantt.
   */
  tasks: string;
}
export interface Gridlines {
  /**
   * Specifies whether to show horizontal gridlines.
   */
  horizontal: string;
  /**
   * Specifies whether to show vertical gridlines.
   */
  vertical: string;
}
export interface MajorAxis {
  /**
   * An object used to format the major axis labels. See the Help documentation for more information.
   */
  converter: MajorAxisConverter;
  /**
   * Specifies whether major axis drilling is enabled.
   */
  drillable: string;
  /**
   * Specifies the major axis height in pixels. See the Help documentation for more information.
   */
  height: number;
  /**
   * Specifies the major axis time scale.
   */
  scale: string;
  /**
   * An array of scales used for zooming from longest to shortest. See the Help documentation for more information.
   */
  zoomOrder: Array<string | unknown>;
}
export interface MajorAxisConverter {
  /**
   * A converter (an instance that duck types Converter) used to format the 'days' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  days: object;
  /**
   * The default converter (an object literal or instance that duck types Converter) to use for all 'scale' values that do not otherwise have a converter object provided. See also DateTimeConverter.
   */
  default: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'hours' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  hours: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'minutes' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  minutes: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'months' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  months: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'quarters' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  quarters: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'seconds' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  seconds: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'weeks' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  weeks: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'years' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  years: object;
}
export interface MinorAxis {
  /**
   * An object used to format the minor axis labels. See the Help documentation for more information.
   */
  converter: MinorAxisConverter;
  /**
   * Specifies whether minor axis drilling is enabled.
   */
  drillable: string;
  /**
   * Specifies the minor axis height in pixels. See the Help documentation for more information.
   */
  height: number;
  /**
   * Specifies the minor axis time scale. This is required for the Gantt to render properly.
   */
  scale: string;
  /**
   * An array of scales used for zooming from longest to shortest. See the Help documentation for more information.
   */
  zoomOrder: Array<string | unknown>;
}
export interface MinorAxisConverter {
  /**
   * A converter (an instance that duck types Converter) used to format the 'days' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  days: object;
  /**
   * The default converter (an object literal or instance that duck types Converter) to use for all 'scale' values that do not otherwise have a converter object provided. See also DateTimeConverter.
   */
  default: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'hours' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  hours: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'minutes' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  minutes: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'months' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  months: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'quarters' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  quarters: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'seconds' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  seconds: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'weeks' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  weeks: object;
  /**
   * A converter (an instance that duck types Converter) used to format the 'years' scale. If not specified, the default converter will be used for this scale. See also DateTimeConverter.
   */
  years: object;
}
export interface ReferenceObjects {
  /**
   * The end time value of this reference object. See Date and Time Formats for more details on required string formats, and see type for more details.
   */
  end: string;
  /**
   * The label of this reference object to be shown. This is not supported for type "area".
   */
  label: string;
  /**
   * The description of this object. This is used for accessibility and also for customizing the tooltip text.
   */
  shortDesc: string;
  /**
   * The start time value of this reference object. See Date and Time Formats for more details on required string formats, and see type for more details.
   */
  start: string;
  /**
   * A space delimited list of CSS style classes defining the style of the reference object. Note that only CSS style applicable to SVG elements can be used.
   */
  svgClassName: string;
  /**
   * The CSS style defining the style of the reference object. Only SVG CSS style properties are supported.
   */
  svgStyle: object;
  /**
   * The type of reference object being shown. If the value is set to "area", use the start and end properties of the reference object. Otherwise, use the value property.
   */
  type: string;
  /**
   * The time value of this reference object. If not specified, no reference object will be shown. See Date and Time Formats for more details on required string formats.
   */
  value: string;
}
export interface RowAxis {
  /**
   * Specifies the properties of the row labels.
   */
  label: RowAxisLabel;
  /**
   * Specifies the maximum width of the region in pixels or as a percentage of the element width. If 'none', then the width has no maximum value. See the Help documentation for more information.
   */
  maxWidth: string;
  /**
   * Specifies whether row labels are rendered.
   */
  rendered: string;
  /**
   * Specifies the width of the region in pixels or as a percentage of the element width. If 'max-content', then the width of the widest label is used. See the Help documentation for more information.
   */
  width: string;
}
export interface RowAxisLabel {}
export interface RowDefaults {
  /**
   * Specifies the default row height in pixels. See the Help documentation for more information.
   */
  height: number;
}
export interface Rows {
  /**
   * The identifier for the row. Optional if the row contains only one task. This must be unique across all rows in Gantt.
   */
  id: any;
  /**
   * The label associated with the row.
   */
  label: string;
  /**
   * The CSS style defining the style of the label. Only CSS style applicable to SVG elements can be used. See the Help documentation for more information.
   */
  labelStyle: object;
  /**
   * An array of reference objects associated with the row.
   */
  referenceObjects: Array<object>;
  /**
   * The description of the row. This is used for accessibility.
   */
  shortDesc: string | null;
  /**
   * An array of tasks. If not specified, no data will be shown.
   */
  tasks: Array<object>;
}
export interface ScrollPosition {
  /**
   * The vertical offset in pixels relative to the row identified by 'rowIndex'.
   */
  offsetY: number;
  /**
   * The zero-based index of the row.
   */
  rowIndex: number;
  /**
   * The vertical position in pixels.
   */
  y: number;
}
export interface TaskDefaults {
  /**
   * Specifies default styling for task attribute elements.
   */
  attribute: TaskDefaultsAttribute;
  /**
   * Specifies default styling for task baseline elements.
   */
  baseline: TaskDefaultsBaseline;
  /**
   * The border radius of the task. Accepts valid CSS border-radius attribute values.
   */
  borderRadius: string;
  /**
   * Specifies default styling for task downtime elements.
   */
  downtime: TaskDefaultsDowntime;
  /**
   * The height of the task in pixels. See the Help documentation for more information.
   */
  height: number;
  /**
   * The position of the label relative to the task, or a priority order of label positions for the component to automatically choose from.
   */
  labelPosition: string | Array<string>;
  /**
   * Configures the placement of chronologically overlapping tasks.
   */
  overlap: TaskDefaultsOverlap;
  /**
   * Specifies default styling for task overtime elements.
   */
  overtime: TaskDefaultsOvertime;
  /**
   * Specifies default styling for progress bars on non-milestone tasks.
   */
  progress: TaskDefaultsProgress;
  /**
   * Enable or disable resizing of the non-baseline portions of selected tasks.
   */
  resizable: string;
  /**
   * A space delimited list of CSS style classes defining the style of the task.
   */
  svgClassName: string;
  /**
   * The CSS style defining the style of the task.
   */
  svgStyle: object;
  /**
   * The type of task to be rendered.
   */
  type: string;
}
export interface TaskDefaultsAttribute {
  /**
   * A space delimited list of CSS style classes defining the attribute style.
   */
  svgClassName: string;
  /**
   * The CSS style defining the attribute style.
   */
  svgStyle: object;
}
export interface TaskDefaultsBaseline {
  /**
   * The border radius of the baseline. Accepts valid CSS border-radius attribute values.
   */
  borderRadius: string;
  /**
   * Specifies the height of the baseline in pixels. If not specified, a default height is used based upon the baseline type.
   */
  height: number;
  /**
   * A space delimited list of CSS style classes defining the baseline style.
   */
  svgClassName: string;
  /**
   * The CSS style defining the baseline style.
   */
  svgStyle: object;
}
export interface TaskDefaultsDowntime {
  /**
   * A space delimited list of CSS style classes defining the downtime style.
   */
  svgClassName: string;
  /**
   * The CSS style defining the downtime style.
   */
  svgStyle: object;
}
export interface TaskDefaultsOverlap {
  /**
   * Specifies the behavior when a task overlaps a chronologically previous adjacent tasks. See the Help documentation for more information.
   */
  behavior: string;
  /**
   * Specifies the vertical offset amount in pixels to be used when laying out overlapping tasks. See the Help documentation for more information.
   */
  offset: number;
}
export interface TaskDefaultsOvertime {
  /**
   * A space delimited list of CSS style classes defining the overtime style.
   */
  svgClassName: string;
  /**
   * The CSS style defining the overtime style.
   */
  svgStyle: object;
}
export interface TaskDefaultsProgress {
  /**
   * The border radius of the progress bar. Accepts valid CSS border-radius attribute values.
   */
  borderRadius: string;
  /**
   * Specifies the height of the progress bar in pixels or as a percentage of the associated task bar height. See the Help documentation for more information.
   */
  height: string;
  /**
   * A space delimited list of CSS style classes to apply to the progress bar.
   */
  svgClassName: string;
  /**
   * The CSS inline style to apply to the progress bar.
   */
  svgStyle: object;
}
export interface Tooltip {}
export interface Translations {
  /**
   * Used to describe a container that contains controls.
   */
  accessibleContainsControls: string;
  /**
   * Provides properties to customize the screen reader text describing a specific dependency.
   */
  accessibleDependencyInfo: string;
  /**
   * Provides properties to customize the screen reader text describing predecessors of a task.
   */
  accessiblePredecessorInfo: string;
  /**
   * Provides properties to customize the screen reader text describing successors of a task.
   */
  accessibleSuccessorInfo: string;
  /**
   * Used to describe milestone task type for accessibility.
   */
  accessibleTaskTypeMilestone: string;
  /**
   * Used to describe summary task type for accessibility.
   */
  accessibleTaskTypeSummary: string;
  /**
   * Used to describe the data visualization type for accessibility.
   */
  componentName: string;
  /**
   * Used to describe finish to finish dependency type for accessibility.
   */
  finishFinishDependencyAriaDesc: string;
  /**
   * Used to describe finish to start dependency type for accessibility.
   */
  finishStartDependencyAriaDesc: string;
  /**
   * Used to display a label and its value.
   */
  labelAndValue: string;
  /**
   * Used for the default tooltip label for task attribute information.
   */
  labelAttribute: string;
  /**
   * Used for the default tooltip label for baseline milestone information.
   */
  labelBaselineDate: string;
  /**
   * Used for the default tooltip label for baseline end time information.
   */
  labelBaselineEnd: string;
  /**
   * Used for the default tooltip label for baseline start time information.
   */
  labelBaselineStart: string;
  /**
   * Text shown for clearing multiple selection on touch devices.
   */
  labelClearSelection: string;
  /**
   * Used to display a count out of a total.
   */
  labelCountWithTotal: string;
  /**
   * Label for data visualizations used for accessibility.
   */
  labelDataVisualization: string;
  /**
   * Used for the default tooltip label for milestone information.
   */
  labelDate: string;
  /**
   * Used for the default tooltip label for downtime end time information.
   */
  labelDowntimeEnd: string;
  /**
   * Used for the default tooltip label for downtime start time information.
   */
  labelDowntimeStart: string;
  /**
   * Used for the default tooltip label for end time information.
   */
  labelEnd: string;
  /**
   * Text shown when the component receives invalid data.
   */
  labelInvalidData: string;
  /**
   * Used for the default tooltip label for task label information.
   */
  labelLabel: string;
  /**
   * Used to describe row level in a hierarchical gantt for accessibility.
   */
  labelLevel: string;
  /**
   * Used for the default tooltip label for task move scale change.
   */
  labelMoveBy: string;
  /**
   * Text shown when the component receives no data.
   */
  labelNoData: string;
  /**
   * Used for the default tooltip label for overtime end time information.
   */
  labelOvertimeEnd: string;
  /**
   * Used for the default tooltip label for overtime start time information.
   */
  labelOvertimeStart: string;
  /**
   * Used for the default tooltip label for task progress information.
   */
  labelProgress: string;
  /**
   * Used for the default tooltip label for task resize scale change.
   */
  labelResizeBy: string;
  /**
   * Used for the default tooltip label for row information.
   */
  labelRow: string;
  /**
   * Used for the default tooltip label for start time information.
   */
  labelStart: string;
  /**
   * Used to describe the row axis for accessibility.
   * @deprecated Since 17.1.0. This is not supported by the component.
   */
  rowAxisLabel: string;
  /**
   * Used to describe start to finish dependency type for accessibility.
   */
  startFinishDependencyAriaDesc: string;
  /**
   * Used to describe start to start dependency type for accessibility.
   */
  startStartDependencyAriaDesc: string;
  /**
   * Used to describe the collapsed state for accessibility.
   */
  stateCollapsed: string;
  /**
   * Used to describe a drillable object for accessibility.
   */
  stateDrillable: string;
  /**
   * Used to describe the expanded state for accessibility.
   */
  stateExpanded: string;
  /**
   * Used to describe the hidden state for accessibility.
   */
  stateHidden: string;
  /**
   * Used to describe the isolated state for accessibility.
   */
  stateIsolated: string;
  /**
   * Used to describe the maximized state for accessibility.
   */
  stateMaximized: string;
  /**
   * Used to describe the minimized state for accessibility.
   */
  stateMinimized: string;
  /**
   * Used to describe the selected state for accessibility.
   */
  stateSelected: string;
  /**
   * Used to describe the unselected state for accessibility.
   */
  stateUnselected: string;
  /**
   * Used to describe the visible state for accessibility.
   */
  stateVisible: string;
  /**
   * Used to indicate task move is cancelled for accessibility.
   */
  taskMoveCancelled: string;
  /**
   * Used to indicate task move is finalized for accessibility.
   */
  taskMoveFinalized: string;
  /**
   * Used to indicate task move is initiated for accessibility.
   */
  taskMoveInitiated: string;
  /**
   * Used to indicate task move instructions for accessibility.
   */
  taskMoveInitiatedInstruction: string;
  /**
   * Used to indicate whether other tasks are also selected during move.
   */
  taskMoveSelectionInfo: string;
  /**
   * Used to indicate task resize is cancelled for accessibility.
   */
  taskResizeCancelled: string;
  /**
   * Used to indicate task end resize handle for accessibility.
   */
  taskResizeEndHandle: string;
  /**
   * Used to indicate task resize end is initiated for accessibility.
   */
  taskResizeEndInitiated: string;
  /**
   * Used to indicate task resize is finalized for accessibility.
   */
  taskResizeFinalized: string;
  /**
   * Used to indicate task resize instructions for accessibility.
   */
  taskResizeInitiatedInstruction: string;
  /**
   * Used to indicate whether other tasks are also selected during task resize.
   */
  taskResizeSelectionInfo: string;
  /**
   * Used to indicate task start resize handle for accessibility.
   */
  taskResizeStartHandle: string;
  /**
   * Used to indicate task resize start is initiated for accessibility.
   */
  taskResizeStartInitiated: string;
  /**
   * Used for the zoom in tooltip.
   */
  tooltipZoomIn: string;
  /**
   * Used for the zoom out tooltip.
   */
  tooltipZoomOut: string;
}
export interface ValueFormats {
  /**
   * Specifies tooltip behavior for the attribute value.
   */
  attribute: ValueFormatsAttribute;
  /**
   * Specifies tooltip behavior for the milestone baseline date value.
   */
  baselineDate: ValueFormatsBaselineDate;
  /**
   * Specifies tooltip behavior for the baseline end value.
   */
  baselineEnd: ValueFormatsBaselineEnd;
  /**
   * Specifies tooltip behavior for the baseline start value.
   */
  baselineStart: ValueFormatsBaselineStart;
  /**
   * Specifies tooltip behavior for the date value of a milestone task.
   */
  date: ValueFormatsDate;
  /**
   * Specifies tooltip behavior for the downtime end value.
   */
  downtimeEnd: ValueFormatsDowntimeEnd;
  /**
   * Specifies tooltip behavior for the downtime start value.
   */
  downtimeStart: ValueFormatsDowntimeStart;
  /**
   * Specifies tooltip behavior for the end value.
   */
  end: ValueFormatsEnd;
  /**
   * Specifies tooltip behavior for the label value.
   */
  label: ValueFormatsLabel;
  /**
   * Specifies tooltip behavior for the overtime end value.
   */
  overtimeEnd: ValueFormatsOvertimeEnd;
  /**
   * Specifies tooltip behavior for the overtime start value.
   */
  overtimeStart: ValueFormatsOvertimeStart;
  /**
   * Specifies tooltip behavior for the progress value.
   */
  progress: ValueFormatsProgress;
  /**
   * Specifies tooltip behavior for the row value.
   */
  row: ValueFormatsRow;
  /**
   * Specifies tooltip behavior for the start value.
   */
  start: ValueFormatsStart;
}
export interface ValueFormatsAttribute {
  /**
   * Specifies whether the attribute value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the attribute value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsBaselineDate {
  /**
   * An object used to format the milestone baseline date value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the milestone baseline date value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the milestone baseline date value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsBaselineEnd {
  /**
   * An object used to format the baseline end value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the baseline end value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the baseline end value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsBaselineStart {
  /**
   * An object used to format the baseline start value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the baseline start value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the baseline start value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsDate {
  /**
   * An object used to format the date value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the date value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the date value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsDowntimeEnd {
  /**
   * An object used to format the downtime end value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the downtime end value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the downtime end value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsDowntimeStart {
  /**
   * An object used to format the downtime start value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the downtime start value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the downtime start value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsEnd {
  /**
   * An object used to format the end value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the end value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the end value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsLabel {
  /**
   * Specifies whether the label value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the label value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsOvertimeEnd {
  /**
   * An object used to format the overtime end value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the overtime end value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the overtime end value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsOvertimeStart {
  /**
   * An object used to format the overtime start value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the overtime start value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the overtime start value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsProgress {
  /**
   * An object used to format the progress value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the progress value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the progress value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsRow {
  /**
   * Specifies whether the row value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the row value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
export interface ValueFormatsStart {
  /**
   * An object used to format the start value. See the Help documentation for more information.
   */
  converter: object;
  /**
   * Specifies whether the start value is displayed in the tooltip.
   */
  tooltipDisplay: string;
  /**
   * The label to display before the start value in the tooltip. See the Help documentation for more information.
   */
  tooltipLabel: string;
}
