import type { AI, AIConfig, AlignSpec, AssignmentModel, AssignmentModelConfig, Base, BryntumScrollOptions, CardSize, Color, ColumnDrag, ColumnDragConfig, ColumnFilter, ColumnFilterConfig, ColumnHeaderMenu, ColumnHeaderMenuConfig, ColumnLock, ColumnLockConfig, ColumnModel, ColumnModelConfig, ColumnRename, ColumnRenameConfig, ColumnResize, ColumnResizeConfig, ColumnSort, ColumnSortConfig, ColumnToolbars, ColumnToolbarsConfig, ContainerItemConfig, DomConfig, FilterBar, FilterBarConfig, InstancePlugin, KeyMapConfig, Mask, MaskConfig, Model, PagingToolbarConfig, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ProjectModel, ProjectModelConfig, Rectangle, ResourceModel, ResourceModelConfig, ScrollManagerConfig, Scroller, ScrollerConfig, SimpleTaskEdit, SimpleTaskEditConfig, StateProvider, Store, StoreConfig, SwimlaneDrag, SwimlaneDragConfig, SwimlaneModel, SwimlaneModelConfig, TabConfig, TaskBoardListeners, TaskDrag, TaskDragConfig, TaskDragSelect, TaskDragSelectConfig, TaskEdit, TaskEditConfig, TaskItemOptions, TaskMenu, TaskMenuConfig, TaskModel, TaskModelConfig, TaskTooltip, TaskTooltipConfig, ToolConfig, ToolbarConfig, ToolbarItems, Widget } from '@bryntum/taskboard';
import {  } from '@bryntum/taskboard';

export declare type BryntumTaskBoardProps = {
    // Configs
    /**
     * The name of the event that should activate a task and trigger editing (if an editing feature is active).
     * Available options are: 'taskClick', 'taskDblClick' or null (disable)
     */
    activateTaskEvent ? : 'taskClick'|'taskDblClick'|null
    /**
     * Element (or element id) to adopt as this Widget's encapsulating element. The widget's
     * content will be placed inside this element.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-adopt)
     */
    adopt ? : HTMLElement|string
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-align)
     */
    align ? : AlignSpec|string
    /**
     * When this widget is a child of a [Container](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container), it will by default be participating in a
     * flexbox layout. This config allows you to set this widget's
     * [align-self](https://developer.mozilla.org/en-US/docs/Web/CSS/align-self) style.
     */
    alignSelf ? : string
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating) and being shown through [showBy](#Core/widget/Widget#function-showBy).*
     * `true` to show a connector arrow pointing to the align target.
     */
    anchor ? : Boolean
    /**
     * Element (or the id of an element) to append this widget's element to. Can be configured, or set once at
     * runtime. To access the element of a rendered widget, see [element](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#property-element).
     * <div class="note">When creating nested trees of widgets, this should only be used on the outermost widget.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-appendTo)
     */
    appendTo ? : HTMLElement|string
    /**
     * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject
     * into an element which will be linked using the `aria-describedby` attribute.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-ariaDescription)
     */
    ariaDescription ? : string
    /**
     * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject as
     * the `aria-label` attribute.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-ariaLabel)
     */
    ariaLabel ? : string
    /**
     * Inline [assignments](https://bryntum.com/products/scheduler/docs#Scheduler/model/AssignmentModel), will be loaded into an internally created
     * [AssignmentStore](https://bryntum.com/products/scheduler/docs#Scheduler/data/AssignmentStore)  as a part of a [project](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ProjectModel).
     */
    assignments ? : AssignmentModel[]|object[]|AssignmentModelConfig[]
    /**
     * Set to `true` to auto generate columns when [columns](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardColumns#config-columns) is undefined.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-autoGenerateColumns)
     */
    autoGenerateColumns ? : Boolean
    /**
     * Set to `true` to auto generate swimlanes when [swimlanes](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardSwimlanes#config-swimlanes) is undefined.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-autoGenerateSwimlanes)
     */
    autoGenerateSwimlanes ? : Boolean
    /**
     * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/taskboard/docs/api/Core/widget/Toolbar),
     * or array of config objects representing the child items of a Toolbar. Another way to add a bbar is to use [strips](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-strips).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-bbar)
     */
    bbar ? : (ContainerItemConfig|string)[]|ToolbarConfig|PagingToolbarConfig|null
    /**
     * Custom CSS classes to add to the panel's body element.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-bodyCls)
     */
    bodyCls ? : string|object
    /**
     * Items to add to each card's body.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-bodyItems)
     */
    bodyItems ? : Record<string, TaskItemOptions>
    /**
     * Set `true` to add a border to this container's element.
     */
    border ? : Boolean
    /**
     * An object where property names with a truthy value indicate which events should bubble up the ownership
     * hierarchy when triggered.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-bubbleEvents)
     */
    bubbleEvents ? : object
    /**
     * Set to `false` to not call onXXX method names (e.g. `onShow`, `onClick`), as an easy way to listen for events.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-callOnFunctions)
     */
    callOnFunctions ? : Boolean
    /**
     * An array of [CardSize](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/ResponsiveCards#typedef-CardSize) objects to use as responsive levels based on card widths.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-cardSizes)
     */
    cardSizes ? : CardSize
    /**
     * By default, if an event handler throws an exception, the error propagates up the stack and the
     * application state is undefined. Code which follows the event handler will *not* be executed.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-catchEventHandlerExceptions)
     */
    catchEventHandlerExceptions ? : Boolean
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
     * Set to `true` to centre the Widget in browser viewport space.
     */
    centered ? : Boolean
    /**
     * Columns hold their tasks in stores chained off the project's task store. Filters applied to the project store
     * are by default not applied to the column stores; they are only affected by their own filters. By configuring
     * `chainFilters : true`, the filters from the project store will also be taken into account when filtering the
     * columns.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-chainFilters)
     */
    chainFilters ? : Boolean
    /**
     * Custom CSS classes to add to element.
     * May be specified as a space separated string, or as an object in which property names
     * with truthy values are used as the class names:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-cls)
     */
    cls ? : string|object
    /**
     * Controls whether the panel is collapsed (the body of the panel is hidden while only the header is
     * visible). Only valid if the panel is [collapsible](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-collapsible).
     */
    collapsed ? : Boolean
    /**
     * Specify `true` to hide the column title instead of rotating it on collapse.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-collapseTitle)
     */
    collapseTitle ? : Boolean
    /**
     * This config enables collapsibility for the panel. See [collapsed](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-collapsed).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-collapsible)
     */
    collapsible ? : Boolean|PanelCollapserConfig|PanelCollapserOverlayConfig
    /**
     * Applies the specified color to the widget, by setting the `--b-primary` CSS variable in the widgets
     * `style` block.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-color)
     */
    color ? : Color
    /**
     * Programmatic control over which column to start in when used in a grid layout.
     */
    column ? : number
    /**
     * Field on a task record used to determine which column the task belongs to.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-columnField)
     */
    columnField ? : string
    /**
     * Store containing the TaskBoard columns. A tasks [columnField](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardColumns#config-columnField) is matched against the `id` of a
     * column to determine in which column it is displayed.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-columns)
     */
    columns ? : ColumnModel[]|ColumnModelConfig[]|string[]|Store|string|StoreConfig
    /**
     * A function which renders the text, HTML, or `DomConfig` object to show as the column title. If you provide a
     * `DomConfig` object, it will replace the title element and you are responsible for styling it + laying it out.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-columnTitleRenderer)
     * @param {object} context Renderer context data
     * @param {TaskBoard.model.ColumnModel} context.columnRecord The column instance
     * @returns {string,DomConfig}
     */
    columnTitleRenderer ? : (context: { columnRecord: ColumnModel }) => string|DomConfig
    config ? : object
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating) or [positioned](#Core/widget/Widget#config-positioned).*
     * Element, Widget or Rectangle to which this Widget is constrained.
     */
    constrainTo ? : HTMLElement|Widget|Rectangle
    /**
     * Initial CSS variables to set.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-css)
     */
    css ? : Record<string, string>
    /**
     * CSS variable prefix, appended to the keys used in [css](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-css).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-cssVarPrefix)
     */
    cssVarPrefix ? : string
    /**
     * When this Widget configuration is used in the Grid's RowExpander feature's `widget` config, provide the
     * field on the expanded record to use for populating this widget's store (if applicable)
     */
    dataField ? : string
    /**
     * Object to apply to elements dataset (each key will be used as a data-attribute on the element)
     */
    dataset ? : Record<string, string>
    /**
     * Check for CSS compatibility and inclusion related issues and try to auto fix them. Performs the following
     * checks:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-detectCSSCompatibilityIssues)
     */
    detectCSSCompatibilityIssues ? : Boolean
    /**
     * Disable or enable the widget. It is similar to [readOnly](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-readOnly) except a disabled widget
     * cannot be focused, uses a different rendition (usually greyish) and does not allow selecting its value.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-disabled)
     */
    disabled ? : Boolean|'inert'
    /**
     * Controls the placement of this widget when it is added to a [panel's ](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel)
     * [strips collection](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-strips). Typical values for this config are `'top'`,
     * `'bottom'`, `'left'`, or `'right'`, which cause the widget to be placed on that side of the panel's
     * body. Such widgets are called "edge strips".
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-dock)
     */
    dock ? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
     * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
     * property which controls when a drag should start.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-draggable)
     * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
     */
    draggable ? : Boolean|object
    /**
     * Make this Panel a docked drawer which slides out from one side of the browser viewport by default.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-drawer)
     * @param {'start','left','end','right','top','bottom'} [side] The side of the viewport to dock the drawer to.  * `'start'` means the `inline-start` side. * `'end'` means the `inline-end` side.
     * @param {string,number} [size] The size of the drawer in its collapsible axis.
     * @param {boolean} [inline] If using the [appendTo](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-appendTo) config to place the drawer inside a host widget, this may be set to `true` to make the drawer inline within that host. Note that, if using this, the layout of the host element must have `flex-direction` set appropriately.
     * @param {boolean,object} [autoClose] Specifies what user actions should automatically close the drawer. Defaults to closing when the user clicks outside of the drawer or when focus moves outside of the drawer.
     * @param {boolean,string} [autoClose.mousedown] If the user clicks outside of the drawer, the drawer will automatically be hidden. If the value is a string, it is used as a CSS selector to filter clicks which should close the drawer.
     * @param {boolean,string} [autoClose.focusout] If focus moves outside of the drawer, the drawer will automatically be hidden.
     * @param {string} [autoClose.mouseout] Hides the drawer when the mouse leaves the drawer after the `autoCloseDelay` period.
     * @param {number} [autoCloseDelay] When using `mouseout`, this is the delay in milliseconds
     */
    drawer ? : Boolean|{ side?: 'start'|'left'|'end'|'right'|'top'|'bottom', size?: string|number, inline?: Boolean, autoClose?: Boolean|{ mousedown?: Boolean|string, focusout?: Boolean|string, mouseout?: string }, autoCloseDelay?: number }
    /**
     * Whether to draw cards on scroll, or only when scrolling ends.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-drawOnScroll)
     */
    drawOnScroll ? : Boolean
    /**
     * An object specifying attributes to assign to the root element of this widget.
     * Set `null` value to attribute to remove it.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-elementAttributes)
     */
    elementAttributes ? : Record<string, string|null>
    extraData ? : any
    /**
     * When this widget is a child of a [Container](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container), it will by default be participating in a
     * flexbox layout. This config allows you to set this widget's
     * [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/flex) style.
     * This may be configured as a single number or a `&lt;flex-grow&gt; &lt;flex-shrink&gt; &lt;flex-basis&gt;` format string.
     * numeric-only values are interpreted as the `flex-grow` value.
     */
    flex ? : number|string
    /**
     * Set to `true` to move the widget out of the document flow and position it
     * absolutely in browser viewport space.
     */
    floating ? : Boolean
    /**
     * Config object of a footer. May contain a `dock`, `html` and a `cls` property. A footer is not a widget,
     * but rather plain HTML that follows the last element of the panel's body and [strips](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-strips).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-footer)
     * @property {'top','right','bottom','left','start','end'} dock Where to dock
     * @property {string} html Html to populate the footer with
     * @property {string} cls CSS class to add to the footer
     */
    footer ? : object|string
    /**
     * Items to add to each card's footer.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-footerItems)
     */
    footerItems ? : Record<string, TaskItemOptions>
    /**
     * The function is called for each task as part of the render loop, and is expected to return the height in
     * pixels for the task. Using this function is only recommended when using partial virtualized rendering, see
     * the [virtualize](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardVirtualization#config-virtualize) setting.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-getTaskHeight)
     * @param {TaskBoard.model.TaskModel} taskRecord The task record
     * @returns {number} The height of the task in pixels
     */
    getTaskHeight ? : (taskRecord: TaskModel) => number
    /**
     * A config [object](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#typedef-PanelHeader) for the panel's header or a string in place of a `title`.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-header)
     */
    header ? : string|Boolean|PanelHeader
    /**
     * Items to add to each card's header.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-headerItems)
     */
    headerItems ? : Record<string, TaskItemOptions>
    /**
     * Widget's height, used to set element `style.height`. Either specify a valid height string or a number,
     * which will get 'px' appended. We recommend using CSS as the primary way to control height, but in some
     * cases this config is convenient.
     */
    height ? : string|number
    /**
     * Configure with true to make widget initially hidden.
     */
    hidden ? : Boolean
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-hideAnimation)
     */
    hideAnimation ? : Boolean|object
    /**
     * By default, the header text is HTML-encoded. Set this flag to `false` disable this and allow html
     * elements in the column headers. Can also be specified on a single
     * [column](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ColumnModel#field-htmlEncodeHeaderText).
     */
    htmlEncodeHeaderText ? : Boolean
    /**
     * An icon to show before the [title](https://bryntum.com/products/taskboard/docs/api/Core/widget/Panel#config-title). Either pass a CSS class as a string, or pass a
     * [DomConfig](https://bryntum.com/products/taskboard/docs/api/Core/helper/DomHelper#typedef-DomConfig) object describing an element to represent the icon.
     */
    icon ? : string|DomConfig
    /**
     * Widget id, if not specified one will be generated. Also used for lookups through Widget.getById
     */
    id ? : string
    /**
     * Determines if the widgets read-only state should be controlled by its parent.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-ignoreParentReadOnly)
     */
    ignoreParentReadOnly ? : Boolean
    /**
     * Convenience setting to align input fields of child widgets. By default, the Field input element is
     * placed immediately following the `label`. If you prefer to have all input fields aligned to the
     * right, set this config to `'end'`.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-inputFieldAlign)
     */
    inputFieldAlign ? : 'start'|'end'
    /**
     * Element (or element id) to insert this widget before. If provided, [appendTo](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
     * <div class="note">When creating nested trees of widgets, this should only be used on the outermost widget.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-insertBefore)
     */
    insertBefore ? : HTMLElement|string
    /**
     * Element (or element id) to append this widget element to, as a first child. If provided, [appendTo](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-appendTo) config is ignored.
     * <div class="note">When creating nested trees of widgets, this should only be used on the outermost widget.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-insertFirst)
     */
    insertFirst ? : HTMLElement|string
    /**
     * A template method (empty by default) allowing you to control if a task can be selected or not.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-isTaskSelectable)
     * @param {TaskBoard.model.TaskModel} taskRecord The task record
     * @returns {boolean} `true` if the task can be selected, otherwise `false`
     */
    isTaskSelectable ? : (taskRecord: TaskModel) => Boolean
    /**
     * See [Keyboard shortcuts](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#keyboard-shortcuts) for details
     */
    keyMap ? : Record<string, KeyMapConfig>
    /**
     * Convenience setting to use same label placement on all child widgets.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-labelPosition)
     */
    labelPosition ? : 'before'|'above'|'align-before'|'auto'|null
    /**
     * Sets `labelWidth´ for all children of this Container, that does not define their own `labelWidth`.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-labelWidth)
     */
    labelWidth ? : number|null
    /**
     * The listener set for this object.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-listeners)
     */
    listeners ? : TaskBoardListeners
    /**
     * A [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object, or a message to be shown when a store is performing a remote
     * operation, or Crud Manager is loading data from the sever. Set to `null` to disable default load mask.
     */
    loadMask ? : string|MaskConfig|null
    /**
     * A [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object to adjust the [maskDefaults](#Core/widget/Widget#config-maskDefaults)
     * when data is loading. The message and optional configuration from the
     * [loadMask](https://bryntum.com/products/taskboard/docs/api/Core/mixin/LoadMaskable#config-loadMask) config take priority over these options, just as they do
     * for `maskDefaults`, respectively.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-loadMaskDefaults)
     */
    loadMaskDefaults ? : MaskConfig
    /**
     * A [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object to adjust the [maskDefaults](#Core/widget/Widget#config-maskDefaults)
     * when an error occurs loading data.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-loadMaskError)
     */
    loadMaskError ? : MaskConfig|Mask|Boolean
    /**
     * A class translations of which are used for translating this entity.
     * This is often used when translations of an item are defined on its container class.
     * For example:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-localeClass)
     */
    localeClass ? : typeof Base
    /**
     * Set to `false` to disable localization of this object.
     */
    localizable ? : Boolean
    /**
     * List of properties which values should be translated automatically upon a locale applying.
     * In case there is a need to localize not typical value (not a String value or a field with re-defined setter/getter),
     * you could use 'localeKey' meta configuration.
     * Example:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-localizableProperties)
     */
    localizableProperties ? : string[]
    /**
     * Widget's margin. This may be configured as a single number or a `TRBL` format string.
     * numeric-only values are interpreted as pixels.
     */
    margin ? : number|string
    /**
     * This config object contains the defaults for the [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) created for the
     * [masked](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-masked) config. Any properties specified in the `masked` config will override these
     * values.
     */
    maskDefaults ? : MaskConfig
    /**
     * Set to `true` to apply the default mask to the widget. Alternatively, this can be the mask message or a
     * [Mask](https://bryntum.com/products/taskboard/docs/api/Core/widget/Mask) config object.
     */
    masked ? : Boolean|string|MaskConfig
    /**
     * The element's maxHeight. Can be either a String or a Number (which will have 'px' appended). Note that
     * like [height](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-height), *reading* the value will return the numeric value in pixels.
     */
    maxHeight ? : string|number
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-maximizeOnMobile)
     */
    maximizeOnMobile ? : number|string
    /**
     * The elements maxWidth. Can be either a String or a Number (which will have 'px' appended). Note that
     * like [width](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
     */
    maxWidth ? : string|number
    /**
     * The element's minHeight. Can be either a String or a Number (which will have 'px' appended). Note that
     * like [height](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-height), *reading* the value will return the numeric value in pixels.
     */
    minHeight ? : string|number
    /**
     * The elements minWidth. Can be either a String or a Number (which will have 'px' appended). Note that
     * like [width](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-width), *reading* the value will return the numeric value in pixels.
     */
    minWidth ? : string|number
    /**
     * Default values to apply to task records created by task boards features (such as the column header menu and
     * the column toolbar)
     */
    newTaskDefaults ? : TaskModelConfig
    /**
     * Specify plugins (an array of classes) in config
     */
    plugins ? : InstancePlugin[]|InstancePlugin
    /**
     * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#property-contentElement), but must
     * not participate in the standard layout of that widget, and must be positioned relatively to that
     * widget's [contentElement](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#property-contentElement).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-positioned)
     */
    positioned ? : Boolean
    /**
     * A function called on each render before adding items to a tasks card, allowing runtime manipulation of them.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-processItems)
     * @param {object} context
     * @param {Record<string, TaskItemOptions>} context.headerItems Item config objects for the task header, keyed by ref
     * @param {Record<string, TaskItemOptions>} context.bodyItems Item config objects for the task body, keyed by ref
     * @param {Record<string, TaskItemOptions>} context.footerItems Item config objects for the task footer, keyed by ref
     * @param {TaskBoard.model.TaskModel} context.taskRecord Record representing task to be rendered
     * @returns {boolean,void} Returning `false` from this function prevents the menu being shown
     */
    processItems ? : (context: { headerItems: Record<string, TaskItemOptions>, bodyItems: Record<string, TaskItemOptions>, footerItems: Record<string, TaskItemOptions>, taskRecord: TaskModel }) => Boolean|void
    /**
     * A [project config object](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ProjectModel#configs) or an instance that holds all stores and
     * data used by the TaskBoard.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-project)
     */
    project ? : ProjectModel|ProjectModelConfig|object|null
    /**
     * Whether this widget is read-only.  This is only valid if the widget is an input
     * field, <strong>or contains input fields at any depth</strong>.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-readOnly)
     */
    readOnly ? : Boolean
    /**
     * [Record](https://bryntum.com/products/taskboard/docs/api/Core/data/Model) whose values will be used to populate fields in the container.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-record)
     */
    record ? : Model
    relayStoreEvents ? : Boolean
    /**
     * Either a default `rendition` to apply to all child widgets, or a map of renditions keyed by child widget
     * `type`.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-rendition)
     */
    rendition ? : string|Record<string, string>|null
    /**
     * Path to load resource images from. Used by the for example the resource picker in the task editor and by the
     * ResourceAvatars task item. Set this to display miniature images for each resource using their `image` field.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-resourceImagePath)
     */
    resourceImagePath ? : string
    /**
     * Inline [resources](https://bryntum.com/products/scheduler/docs#Scheduler/model/ResourceModel), will be loaded into an internally created
     * [ResourceStore](https://bryntum.com/products/scheduler/docs#Scheduler/data/ResourceStore) as a part of a [project](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ProjectModel).
     */
    resources ? : ResourceModel[]|object[]|ResourceModelConfig[]
    /**
     * Specifies the various responsive state objects keyed by their name. Each key (except `'*'`, see below) in
     * this object is a state name (see [responsiveState](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveState)) and its corresponding value is the
     * associated [ResponsiveState](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#typedef-ResponsiveState) object.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-responsive)
     */
    responsive ? : object
    /**
     * Set to `true` to mark this instance as the default [responsiveTarget](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveTarget) for descendants that do
     * not specify an explicit [responsiveTarget](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveTarget) of their own.
     */
    responsiveRoot ? : Boolean
    /**
     * The name of the active state of the [responsive](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsive) config. This is assigned internally
     * and should not be assigned directly.
     */
    responsiveState ? : string
    /**
     * The widget whose size and other properties drive this object's responsive behavior. If this config is not
     * specified, the closest ancestor that specified [responsiveRoot=true](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Responsive#config-responsiveRoot) will be
     * used. If there is no such ancestor, then the instance using this mixin is used.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-responsiveTarget)
     */
    responsiveTarget ? : string|Widget
    /**
     * The ARIA role to apply to this widget's element. By default, this is set to `'presentation'` to avoid
     * accidentally applying a role which may interfere with screen readers.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-role)
     */
    role ? : string
    /**
     * If you are rendering this widget to a shadow root inside a web component, set this config to the shadowRoot. If not inside a web component, set it to `document.body`
     */
    rootElement ? : ShadowRoot|HTMLElement
    /**
     * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-rtl)
     */
    rtl ? : Boolean
    /**
     * Specifies whether (and optionally in which axes) a Widget may scroll. `true` means this widget may scroll
     * in both axes. May be an object containing boolean `overflowX` and `overflowY` properties which are
     * applied to CSS style properties `overflowX` and `overflowY`. If they are boolean, they are translated to
     * CSS overflow properties thus:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-scrollable)
     */
    scrollable ? : Boolean|ScrollerConfig|Scroller
    /**
     * Defines what to do if document is scrolled while Widget is visible (only relevant when floating is set to `true`).
     * Valid values: ´null´: do nothing, ´hide´: hide the widget or ´realign´: realign to the target if possible.
     */
    scrollAction ? : 'hide'|'realign'|null
    /**
     * Configuration values for the [ScrollManager](https://bryntum.com/products/taskboard/docs/api/Core/util/ScrollManager) class. It is used to manage column/body
     * scrolling during task, column or swimlane drag.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-scrollManager)
     */
    scrollManager ? : ScrollManagerConfig
    /**
     * Default scroll options, see the options for [scrollIntoView](https://bryntum.com/products/taskboard/docs/api/Core/helper/util/Scroller#function-scrollIntoView)
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-scrollOptions)
     */
    scrollOptions ? : BryntumScrollOptions
    /**
     * Selected tasks.
     */
    selectedTasks ? : TaskModel[]
    /**
     * Configure with `true` to change the default behaviour of keyboard navigation from moving focus to selecting
     * tasks:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-selectOnNavigation)
     */
    selectOnNavigation ? : Boolean|string
    /**
     * *Only valid if this Widget is [floating](https://bryntum.com/products/taskboard/docs/api/Core/widget/Widget#config-floating).*
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-showAnimation)
     */
    showAnimation ? : Boolean|object
    /**
     * Show an icon to expand/collapse columns and swimlanes in their headers.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-showCollapseInHeader)
     */
    showCollapseInHeader ? : Boolean
    /**
     * By default, a tooltip showing `Expand XX`/`Collapse XX` is shown when hovering the expand/collapse icon for
     * a column or swimlane. To disable the tooltip, set this to `false`.
     */
    showCollapseTooltip ? : Boolean
    /**
     * Show task count for a column in its header, appended after the title
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-showCountInHeader)
     */
    showCountInHeader ? : Boolean
    /**
     * Programmatic control over how many columns to span when used in a grid layout.
     */
    span ? : number
    /**
     * This value can be one of the following:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-stateful)
     */
    stateful ? : Boolean|object|string[]
    /**
     * The events that, when fired by this component, should trigger it to save its state by calling
     * [saveState](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#function-saveState).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-statefulEvents)
     */
    statefulEvents ? : object|string[]
    /**
     * The key to use when saving this object's state in the [stateProvider](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#config-stateProvider). If this config is
     * not assigned, and [stateful](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#config-stateful) is not set to `false`, the [id](#Core/widget/Widget#config-id)
     * (if explicitly specified) will be used as the `stateId`.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-stateId)
     */
    stateId ? : string
    /**
     * The `StateProvider` to use to save and restore this object's [state](https://bryntum.com/products/taskboard/docs/api/Core/mixin/State#property-state). By default, `state`
     * will be saved using the [default state provider](https://bryntum.com/products/taskboard/docs/api/Core/state/StateProvider#property-instance-static).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-stateProvider)
     */
    stateProvider ? : StateProvider
    /**
     * Makes column and swimlane headers sticky
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-stickyHeaders)
     */
    stickyHeaders ? : Boolean
    /**
     * Setting this will cause cards to expand to share the available width if there are fewer than
     * [tasksPerRow](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoardBase#config-tasksPerRow).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-stretchCards)
     */
    stretchCards ? : Boolean
    /**
     * Specify `true` to match fields by their `name` property only when assigning a [record](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container#config-record),
     * without falling back to `ref`.
     */
    strictRecordMapping ? : Boolean
    /**
     * An object containing widgets keyed by name. By default (when no `type` is given), strips are
     * [toolbars](https://bryntum.com/products/taskboard/docs/api/Core/widget/Toolbar). If you want to pass an array, you can use
     * the toolbar's [items](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container#config-items).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-strips)
     */
    strips ? : Record<string, ContainerItemConfig>
    /**
     * Field on a task record used to determine which swimlane the task belongs to.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-swimlaneField)
     */
    swimlaneField ? : string
    /**
     * An empty function by default, but provided so that you can override it. This function is called each time
     * a swimlane is rendered into the task board. It allows you to manipulate the DOM config object used for the
     * swimlane before it is synced to DOM, thus giving you control over styling and contents.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-swimlaneRenderer)
     * @param {object} context An object containing the information needed to render a swimlane.
     * @param {TaskBoard.model.SwimlaneModel} context.swimlaneRecord The swimlane.
     * @param {DomConfig} context.swimlaneConfig DOM config object for the swimlane
     * @returns {void}
     */
    swimlaneRenderer ? : (context: { swimlaneRecord: SwimlaneModel, swimlaneConfig: DomConfig }) => void
    /**
     * Store containing the TaskBoard swimlanes. A tasks [swimlaneField](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/mixin/TaskBoardSwimlanes#config-swimlaneField) is matched against the `id`
     * of a swimlane to determine in which swimlane it is displayed.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-swimlanes)
     */
    swimlanes ? : SwimlaneModel[]|SwimlaneModelConfig[]|Store|string|StoreConfig
    /**
     * TaskBoard does not use a sync mask by default. If you want one, see
     * [syncMask](https://bryntum.com/products/taskboard/docs/api/Core/mixin/LoadMaskable#config-syncMask) for configuration options.
     */
    syncMask ? : string|object|null
    /**
     * A configuration for the [tab](https://bryntum.com/products/taskboard/docs/api/Core/widget/Tab) created for this widget when it is placed in a
     * [TabPanel](https://bryntum.com/products/taskboard/docs/api/Core/widget/TabPanel). For example, this config can be used to control the icon of the `tab` for
     * this widget:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-tab)
     */
    tab ? : Boolean|TabConfig
    /**
     * When this container is used as a tab in a TabPanel, these items are added to the
     * [TabBar](https://bryntum.com/products/taskboard/docs/api/Core/widget/TabBar) when this container is the active tab.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-tabBarItems)
     */
    tabBarItems ? : ToolbarItems[]|Widget[]
    /**
     * An empty function by default, but provided so that you can override it. This function is called each time
     * a task is rendered into the task board. It allows you to manipulate the DOM config object used for the card
     * before it is synced to DOM, thus giving you control over styling and contents.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-taskRenderer)
     * @param {object} context An object containing the information needed to render a task
     * @param {TaskBoard.model.TaskModel} context.taskRecord The task record
     * @param {TaskBoard.model.ColumnModel} context.columnRecord The column the task will be displayed in
     * @param {TaskBoard.model.SwimlaneModel} context.swimlaneRecord The swimlane the task will be displayed in
     * @param {DomConfig} context.cardConfig DOM config object for the cards element
     * @returns {void}
     */
    taskRenderer ? : (context: { taskRecord: TaskModel, columnRecord: ColumnModel, swimlaneRecord: SwimlaneModel, cardConfig: DomConfig }) => void
    /**
     * Inline [tasks](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/TaskModel), will be loaded into an internally created
     * [TaskStore](https://bryntum.com/products/taskboard/docs/api/TaskBoard/store/TaskStore) as a part of a [project](#TaskBoard/model/ProjectModel).
     */
    tasks ? : TaskModel[]|object[]|TaskModelConfig[]
    /**
     * Allows sorting tasks in the UI independent of how they are sorted in the task store.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-taskSorterFn)
     * @param {TaskBoard.model.TaskModel} first The first task to compare
     * @param {TaskBoard.model.TaskModel} second The second task to compare
     * @returns {number} Return `1` if first task is greater than second task, `-1` if the opposite is true or `0` if they are equal
     */
    taskSorterFn ? : Boolean|((first: TaskModel, second: TaskModel) => number)
    /**
     * Controls how many cards are rendered to a row in each column. Can be controlled on a per column basis by
     * setting [tasksPerRow](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ColumnModel#field-tasksPerRow)
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-tasksPerRow)
     */
    tasksPerRow ? : number
    /**
     * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/taskboard/docs/api/Core/widget/Toolbar),
     * or array of config objects representing the child items of a Toolbar.
     * This creates a toolbar docked to the top of the panel immediately below the header.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-tbar)
     */
    tbar ? : (ContainerItemConfig|string)[]|ToolbarConfig|PagingToolbarConfig|null
    /**
     * A title to display in the header or owning TabPanel. Causes creation and docking of a header
     * to the top if no header is configured.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-title)
     */
    title ? : string
    /**
     * The [tools](https://bryntum.com/products/taskboard/docs/api/Core/widget/Tool) to add either before or after the `title` in the Panel header. Each
     * property name is the reference by which an instantiated tool may be retrieved from the live
     * `[tools](https://bryntum.com/products/taskboard/docs/api/Core/widget/mixin/Toolable#property-tools)` property.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-tools)
     */
    tools ? : Record<string, ToolConfig>|null
    type ? : 'taskboard'
    /**
     * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
     * as a space separated string, an array of strings, or as an object in which property names with truthy
     * values are used as the class names.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-ui)
     */
    ui ? : 'plain'|'toolbar'|string|object
    /**
     * Experimental, animate actions that cannot be animated using CSS transitions. Currently includes:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-useDomTransition)
     */
    useDomTransition ? : Boolean
    /**
     * By turning on this setting you enable partial virtualized rendering for the board, which reduces initial
     * rendering time and makes interaction less sluggish when using thousands of tasks. The tradeoff is that
     * scrolling in most cases will be slower.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-virtualize)
     */
    virtualize ? : Boolean
    /**
     * A widgets weight determines its position among siblings when added to a [Container](https://bryntum.com/products/taskboard/docs/api/Core/widget/Container).
     * Higher weights go further down.
     */
    weight ? : number
    /**
     * Widget's width, used to set element `style.width`. Either specify a valid width string or a number, which
     * will get 'px' appended. We recommend using CSS as the primary way to control width, but in some cases
     * this config is convenient.
     */
    width ? : string|number
    /**
     * The x position for the widget.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-x)
     */
    x ? : number
    /**
     * The y position for the widget.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/view/TaskBoard#config-y)
     */
    y ? : number

    // Features
    /**
     * This feature provides an AI agent for the TaskBoard. It provides a chat panel that allows the user to send messages
     * to the agent and see the responses. Which allows the user to use natural language to interact with the TaskBoard in
     * different ways. For example, the user can ask the agent to move tasks between columns, update task properties, add
     * or remove tasks, filter the whole board as well as single columns, and sort them. The agent can also perform data
     * manipulation operations such as adding, updating, and deleting records.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/AI)
     */
    aiFeature ? : object|Boolean|string|AI|AIConfig
    /**
     * This feature allows users to drag columns on the TaskBoard to change the column order. Drag is initiated upon
     * mouse down in the column header. Try it out below!
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnDrag)
     */
    columnDragFeature ? : object|Boolean|string|ColumnDrag|ColumnDragConfig
    /**
     * Adds the ability to filter each column of the TaskBoard.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnFilter)
     */
    columnFilterFeature ? : object|Boolean|string|ColumnFilter|ColumnFilterConfig
    /**
     * Adds a menu button (`···`) to column headers, clicking it displays a menu. Items are populated by other features
     * and/or application code.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnHeaderMenu)
     */
    columnHeaderMenuFeature ? : object|Boolean|string|ColumnHeaderMenu|ColumnHeaderMenuConfig
    /**
     * Allows user to lock columns to the left or right using the new [locked](https://bryntum.com/products/taskboard/docs/api/TaskBoard/model/ColumnModel#field-locked) field
     * on columns.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnLock)
     */
    columnLockFeature ? : object|Boolean|string|ColumnLock|ColumnLockConfig
    /**
     * Allows user to rename columns by either double-clicking column text, or via the column header menu.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnRename)
     */
    columnRenameFeature ? : object|Boolean|string|ColumnRename|ColumnRenameConfig
    /**
     * This feature allows users to change the width of individual TaskBoard columns. Resize is initiated upon mouse down on
     * the separator element between column headers. Try it out below!
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnResize)
     */
    columnResizeFeature ? : object|Boolean|string|ColumnResize|ColumnResizeConfig
    /**
     * Adds the ability to sort each column of the TaskBoard.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnSort)
     */
    columnSortFeature ? : object|Boolean|string|ColumnSort|ColumnSortConfig
    /**
     * Adds toolbars to the top and/or bottom of each column. By default it adds a bottom toolbar containing a single button
     * for adding events to that column/swimlane:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/ColumnToolbars)
     */
    columnToolbarsFeature ? : object|Boolean|string|ColumnToolbars|ColumnToolbarsConfig
    /**
     * Adds the ability to quick search in configured fields of tasks.
     * Renders a filter bar below each column's header.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/FilterBar)
     */
    filterBarFeature ? : object|Boolean|string|FilterBar|FilterBarConfig
    /**
     * This feature allows inline editing of tasks. Double-clicking an item starts editing it:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/SimpleTaskEdit)
     */
    simpleTaskEditFeature ? : object|Boolean|string|SimpleTaskEdit|SimpleTaskEditConfig
    /**
     * This feature allows users to drag drop swimlanes on the TaskBoard changing their order (by grabbing their header).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/SwimlaneDrag)
     */
    swimlaneDragFeature ? : object|Boolean|string|SwimlaneDrag|SwimlaneDragConfig
    /**
     * This feature allows cards on the TaskBoard to be dragged across swimlanes and columns but also vertically in the
     * same column to change the order:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskDrag)
     */
    taskDragFeature ? : object|Boolean|string|TaskDrag|TaskDragConfig
    /**
     * Enables users to click and drag to select cards on the TaskBoard (marquee selection).
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskDragSelect)
     */
    taskDragSelectFeature ? : object|Boolean|string|TaskDragSelect|TaskDragSelectConfig
    /**
     * This features allows the user to edit tasks in a popup editor that can either be shown centered on screen (the
     * default, double click a task to show the editor):
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskEdit)
     */
    taskEditFeature ? : object|Boolean|string|TaskEdit|TaskEditConfig
    /**
     * Displays a context menu for tasks. Items are populated by other features and/or application code.
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskMenu)
     */
    taskMenuFeature ? : object|Boolean|string|TaskMenu|TaskMenuConfig
    /**
     * Displays a tooltip when hovering a task. By default the tooltip displays:
     * [More...](https://bryntum.com/products/taskboard/docs/api/TaskBoard/feature/TaskTooltip)
     */
    taskTooltipFeature ? : object|Boolean|string|TaskTooltip|TaskTooltipConfig

}
