import { OjWebElement } from '../';
/**
 * This is the base class for oj-n-box 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, OjNBox.ts.
 */
export declare class OjNBoxBase extends OjWebElement {
    /**
     * Gets the value of <code>animationOnDataChange</code> property.
     * Specifies the animation that is applied on data changes.
     * @return The value of <code>animationOnDataChange</code> property.
     *
     */
    getAnimationOnDataChange(): Promise<string>;
    /**
     * Gets the value of <code>animationOnDisplay</code> property.
     * Specifies the animation that is shown on initial display.
     * @return The value of <code>animationOnDisplay</code> property.
     *
     */
    getAnimationOnDisplay(): Promise<string>;
    /**
     * Gets the value of <code>as</code> property.
     * Specifies the alias for the current item when referenced inside the nodeTemplate.
     * @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.
     */
    getAs(): Promise<string>;
    /**
     * Gets the value of <code>cellContent</code> property.
     * Specifies the content displayed in cells. See the Help documentation for more information.
     * @return The value of <code>cellContent</code> property.
     *
     */
    getCellContent(): Promise<string>;
    /**
     * Gets the value of <code>cellMaximize</code> property.
     * Specifies whether cell maximize/de-maximize gestures are enabled.
     * @return The value of <code>cellMaximize</code> property.
     *
     */
    getCellMaximize(): Promise<string>;
    /**
     * Gets the value of <code>cells</code> property.
     * Specifies the list of cells. Also accepts a Promise for deferred data rendering.
     * @return The value of <code>cells</code> property.
     *
     */
    getCells(): Promise<Array<Cells> | null | null>;
    /**
     * Gets the value of <code>columns</code> property.
     * Specifies the list of columns. Also accepts a Promise for deferred data rendering.
     * @return The value of <code>columns</code> property.
     *
     */
    getColumns(): Promise<Array<Columns> | null | null>;
    /**
     * Gets the value of <code>columnsTitle</code> property.
     * The text for the title on the column edge.
     * @return The value of <code>columnsTitle</code> property.
     *
     */
    getColumnsTitle(): Promise<string>;
    /**
     * Gets the value of <code>countLabel</code> property.
     * A function that returns custom text for the cell count labels.
     * @return The value of <code>countLabel</code> property.
     *
     */
    getCountLabel(): Promise<null | null>;
    /**
     * Gets the value of <code>dataTransferOptions</code> property.
     * Specifies data transfer features.
     * @return The value of <code>dataTransferOptions</code> property.
     *
     */
    getDataTransferOptions(): Promise<DataTransferOptions>;
    /**
     * Gets the value of <code>dnd</code> property.
     * Provides support for HTML5 Drag and Drop events. See the Help documentation for more information.
     * @return The value of <code>dnd</code> property.
     *
     */
    getDnd(): Promise<Dnd>;
    /**
     * Gets the value of <code>groupAttributes</code> property.
     * An array of attributes for styling the group nodes.
     * @return The value of <code>groupAttributes</code> property.
     *
     */
    getGroupAttributes(): Promise<Array<string>>;
    /**
     * Gets the value of <code>groupBehavior</code> property.
     * Specifies how nodes should be grouped.
     * @return The value of <code>groupBehavior</code> property.
     *
     */
    getGroupBehavior(): Promise<string>;
    /**
     * Sets the value of <code>hiddenCategories</code> property.
     * An array of category strings used for filtering. Data items with any category matching an item in this array will be filtered.
     * @param hiddenCategories The value to set for <code>hiddenCategories</code>
     *
     */
    changeHiddenCategories(hiddenCategories: Array<string>): Promise<void>;
    /**
     * Gets the value of <code>hiddenCategories</code> property.
     * An array of category strings used for filtering. Data items with any category matching an item in this array will be filtered.
     * @return The value of <code>hiddenCategories</code> property.
     *
     */
    getHiddenCategories(): Promise<Array<string>>;
    /**
     * Gets the value of <code>highlightMatch</code> property.
     * The matching condition for the highlightedCategories property. See the Help documentation for more information.
     * @return The value of <code>highlightMatch</code> property.
     *
     */
    getHighlightMatch(): Promise<string>;
    /**
     * Sets the value of <code>highlightedCategories</code> property.
     * An array of category strings used for highlighting. Data items matching categories in this array will be highlighted.
     * @param highlightedCategories The value to set for <code>highlightedCategories</code>
     *
     */
    changeHighlightedCategories(highlightedCategories: Array<string>): Promise<void>;
    /**
     * Gets the value of <code>highlightedCategories</code> property.
     * An array of category strings used for highlighting. Data items matching categories in this array will be highlighted.
     * @return The value of <code>highlightedCategories</code> property.
     *
     */
    getHighlightedCategories(): Promise<Array<string>>;
    /**
     * Gets the value of <code>hoverBehavior</code> property.
     * Defines the behavior applied when hovering over data items.
     * @return The value of <code>hoverBehavior</code> property.
     *
     */
    getHoverBehavior(): Promise<string>;
    /**
     * Gets the value of <code>labelTruncation</code> property.
     * Specifies node label truncation behavior. See the Help documentation for more information.
     * @return The value of <code>labelTruncation</code> property.
     *
     */
    getLabelTruncation(): Promise<string>;
    /**
     * Sets the value of <code>maximizedColumn</code> property.
     * The id of the column to be maximized.
     * @param maximizedColumn The value to set for <code>maximizedColumn</code>
     *
     */
    changeMaximizedColumn(maximizedColumn: string): Promise<void>;
    /**
     * Gets the value of <code>maximizedColumn</code> property.
     * The id of the column to be maximized.
     * @return The value of <code>maximizedColumn</code> property.
     *
     */
    getMaximizedColumn(): Promise<string>;
    /**
     * Sets the value of <code>maximizedRow</code> property.
     * The id of the row to be maximized.
     * @param maximizedRow The value to set for <code>maximizedRow</code>
     *
     */
    changeMaximizedRow(maximizedRow: string): Promise<void>;
    /**
     * Gets the value of <code>maximizedRow</code> property.
     * The id of the row to be maximized.
     * @return The value of <code>maximizedRow</code> property.
     *
     */
    getMaximizedRow(): Promise<string>;
    /**
     * Gets the value of <code>nodes</code> property.
     * The list of nodes. Also accepts a Promise for deferred data rendering.
     * @return The value of <code>nodes</code> property.
     *
     */
    getNodes(): Promise<Array<Nodes> | null | null>;
    /**
     * Gets the value of <code>otherColor</code> property.
     * The color for the "other" group nodes. See the Help documentation for more information.
     * @return The value of <code>otherColor</code> property.
     *
     */
    getOtherColor(): Promise<string>;
    /**
     * Gets the value of <code>otherThreshold</code> property.
     * The threshold for aggregating nodes into an "other" group node. See the Help documentation for more information.
     * @return The value of <code>otherThreshold</code> property.
     *
     */
    getOtherThreshold(): Promise<number>;
    /**
     * Gets the value of <code>rows</code> property.
     * The list of rows. Also accepts a Promise for deferred data rendering.
     * @return The value of <code>rows</code> property.
     *
     */
    getRows(): Promise<Array<Rows> | null | null>;
    /**
     * Gets the value of <code>rowsTitle</code> property.
     * The text for the title on the row edge.
     * @return The value of <code>rowsTitle</code> property.
     *
     */
    getRowsTitle(): Promise<string>;
    /**
     * Sets the value of <code>selection</code> property.
     * Specifies the ids of the selected nodes.
     * @param selection The value to set for <code>selection</code>
     *
     */
    changeSelection(selection: Array<any>): Promise<void>;
    /**
     * Gets the value of <code>selection</code> property.
     * Specifies the ids of the selected nodes.
     * @return The value of <code>selection</code> property.
     *
     */
    getSelection(): Promise<Array<any>>;
    /**
     * Gets the value of <code>selectionMode</code> property.
     * Specifies the selection behavior on the NBox. See the Help documentation for more information.
     * @return The value of <code>selectionMode</code> property.
     *
     */
    getSelectionMode(): Promise<string>;
    /**
     * Gets the value of <code>styleDefaults</code> property.
     * An object defining the style defaults for this NBox.
     * @return The value of <code>styleDefaults</code> property.
     *
     */
    getStyleDefaults(): Promise<StyleDefaults>;
    /**
     * 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.
     *
     */
    getTooltip(): Promise<Tooltip>;
    /**
     * Gets the value of <code>touchResponse</code> property.
     * Specifies configuration options for touch and hold delays on mobile devices. See the Help documentation for more information.
     * @return The value of <code>touchResponse</code> property.
     * @deprecated Since 18.0.0. This attribute is deprecated and no longer recommended in the Redwood Design system. The "auto" value behavior will be applied instead.
     */
    getTouchResponse(): Promise<string>;
    /**
     * 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.
     *
     */
    getTrackResize(): Promise<string>;
    /**
     * 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.
     *
     */
    getTranslations(): Promise<Translations | null>;
}
export interface Cells {
    /**
     * The id of the column containing this cell.
     */
    column: string;
    /**
     * The text for the cell label.
     */
    label: string;
    /**
     * The horizontal alignment value for the cell label.
     */
    labelHalign: string;
    /**
     * The CSS style object defining the style of the cell label. The following style properties are supported: color, cursor, fontFamily, fontSize, fontStyle, fontWeight, textDecoration. The default value comes from the CSS and varies based on theme.
     */
    labelStyle: object;
    /**
     * The CSS style class for this cell. Used for customizing the minimized cell background and border.
     */
    maximizedSvgClassName: string;
    /**
     * The CSS style object for this cell. Used for customizing the maximized cell background and border. Only SVG CSS style properties are supported. The default value comes from the CSS and varies based on theme.
     */
    maximizedSvgStyle: object;
    /**
     * The CSS style class for this cell. Used for customizing the minimized cell background and border.
     */
    minimizedSvgClassName: string;
    /**
     * The CSS style object for this cell. Used for customizing the minimized cell background and border. Only SVG CSS style properties are supported. The default value comes from the CSS and varies based on theme.
     */
    minimizedSvgStyle: object;
    /**
     * The id of the row containing this cell.
     */
    row: string;
    /**
     * The description of this cell. This is used for accessibility.
     */
    shortDesc: string;
    /**
     * Determines when to display the cell count label (extra info displayed after primary cell label). "off" never show the count label. "on" always show the count label. Show countLabel value if specified, otherwise use a simple node count. "auto" show the count label if countLabel attribute is defined.
     */
    showCount: string;
    /**
     * The CSS style class for this cell. Used for customizing the cell background and border.
     */
    svgClassName: string;
    /**
     * The CSS style object for this cell. Used for customizing the cell background and border. Only SVG CSS style properties are supported. The default value comes from the CSS and varies based on theme.
     */
    svgStyle: object;
}
export interface Columns {
    /**
     * The id of the column. Used to identify this column.
     */
    id: string;
    /**
     * The text for the column label.
     */
    label: string;
    /**
     * The CSS style object defining the style of the column label. The following style properties are supported: color, cursor, fontFamily, fontSize, fontStyle, fontWeight, textDecoration.
     */
    labelStyle: object;
}
export interface DataTransferOptions {
    /**
     * Allows copy on nbox node.
     */
    copy: string;
    /**
     * Allows cut on nbox node.
     */
    cut: string;
    /**
     * Allows paste on nbox cell.
     */
    paste: string;
}
export interface Dnd {
    /**
     * An object that describes drag functionality.
     */
    drag: DndDrag;
    /**
     * An object that describes drop functionality.
     */
    drop: DndDrop;
}
export interface DndDrag {
    /**
     * Allows dragging of nbox nodes.
     */
    nodes: DndDragNodes;
}
export interface DndDragNodes {
    /**
     * The MIME types to use for the dragged data in the dataTransfer object. This can be a string if there is only one type, or an array of strings if multiple types are needed.
     */
    dataTypes: string | Array<string>;
}
export interface DndDrop {
    /**
     * Allows dropping on cells.
     */
    cells: DndDropCells;
}
export interface DndDropCells {
    /**
     * An array of MIME data types this element can accept. This property is required unless dragEnter, dragOver, and drop callback functions are specified to handle the corresponding events.
     */
    dataTypes: string | Array<string>;
}
export interface Nodes {
    /**
     * The border color of the node. Does not apply if custom image is specified.
     */
    borderColor: string;
    /**
     * The border width of the node in pixels. Does not apply if custom image is specified.
     */
    borderWidth: number;
    /**
     * An optional array of additional category strings corresponding to this data item. This enables highlighting and filtering of individual data items through interactions with other visualization elements. Defaults to node's id if unspecified.
     */
    categories: Array<string>;
    /**
     * The color of the node. Does not apply if custom image is specified.
     */
    color: string;
    /**
     * The column id for this node.
     */
    column: string;
    /**
     * The group category this node belongs to. Nodes with the same groupCategory will be grouped together.
     */
    groupCategory: string;
    /**
     * Defines the primary icon for this node.
     */
    icon: NodesIcon;
    /**
     * The node id. The node id should be set by the application if the DataProvider is not being used.
     */
    id: any;
    /**
     * The background color for the indicator section of this node.
     */
    indicatorColor: string;
    /**
     * Defines the indicator icon for this node.
     */
    indicatorIcon: NodesIndicatorIcon;
    /**
     * The text for the node label.
     */
    label: string;
    /**
     * The row id for this node.
     */
    row: string;
    /**
     * The text for the secondary node label.
     */
    secondaryLabel: string;
    /**
     * The description of this node. This is used for accessibility and also for customizing the tooltip text.
     */
    shortDesc: string | null;
    /**
     * The CSS style class defining the style of this node.
     */
    svgClassName: string;
    /**
     * The CSS style object defining the style of this node. Only SVG CSS style properties are supported. The default value comes from the CSS and varies based on theme.
     */
    svgStyle: object;
    /**
     * An optional horizontal position (as a percentage) to be used in the average position calculation when grouping across cells.
     */
    xPercentage: number;
    /**
     * An optional vertical position (as a percentage) to be used in the average position calculation when grouping across cells.
     */
    yPercentage: number;
}
export interface NodesIcon {
    /**
     * The background of initials
     */
    background: string;
    /**
     * The border color of this icon.
     */
    borderColor: string;
    /**
     * The border radius of this icon. CSS border-radius values accepted. Note that non-% values (including unitless) get interpreted as 'px'.
     */
    borderRadius: string;
    /**
     * The border width of this icon.
     */
    borderWidth: number;
    /**
     * The fill color of this icon.
     */
    color: string;
    /**
     * The height of this icon.
     */
    height: number;
    /**
     * The initials displayed for this icon.
     */
    initials: string;
    /**
     * The opacity of this icon.
     */
    opacity: number;
    /**
     * The pattern of this icon.
     */
    pattern: string;
    /**
     * The shape of this icon. Can take the name of a built-in shape or the SVG path commands for a custom shape.
     */
    shape: string;
    /**
     * The URL of an image to display for this icon.
     */
    source: string;
    /**
     * The CSS style class defining the style of this icon. Will not be applied if initials are specified.
     */
    svgClassName: string;
    /**
     * The CSS style object defining the style of this icon. Only SVG CSS style properties are supported. Will not be applied if initials are specified. The default value comes from the CSS and varies based on theme.
     */
    svgStyle: object;
    /**
     * The width of this icon.
     */
    width: number;
}
export interface NodesIndicatorIcon {
    /**
     * The border color of this indicator icon.
     */
    borderColor: string;
    /**
     * The border radius of this indicator icon. CSS border-radius values accepted. Note that non-% values (including unitless) get interpreted as 'px'.
     */
    borderRadius: string;
    /**
     * The border width of this indicator icon.
     */
    borderWidth: number;
    /**
     * The fill color of this indicator icon.
     */
    color: string;
    /**
     * The height of this indicator icon.
     */
    height: number;
    /**
     * The opacity of this indicator icon.
     */
    opacity: number;
    /**
     * The pattern of this indicator icon.
     */
    pattern: string;
    /**
     * The shape of this indicator icon. Can take the name of a built-in shape or the SVG path commands for a custom shape.
     */
    shape: string;
    /**
     * The URL of an image to display for this indicator icon.
     */
    source: string;
    /**
     * The CSS style class defining the style of this indicator icon.
     */
    svgClassName: string;
    /**
     * The CSS style object defining the style of this indicator icon. Only SVG CSS style properties are supported. The default value comes from the CSS and varies based on theme.
     */
    svgStyle: object;
    /**
     * The width of this indicator icon.
     */
    width: number;
}
export interface Rows {
    /**
     * The id of the row. Used to identify this row.
     */
    id: string;
    /**
     * The text for the row label.
     */
    label: string;
    /**
     * The CSS style object defining the style of the row label. The following style properties are supported: color, cursor, fontFamily, fontSize, fontStyle, fontWeight, textDecoration.
     */
    labelStyle: object;
}
export interface StyleDefaults {
    /**
     * The duration of the animations in milliseconds.
     */
    animationDuration: number;
    /**
     * An object defining the style defaults for cells.
     */
    cellDefaults: StyleDefaultsCellDefaults;
    /**
     * The CSS style object defining the style of the column labels.
     */
    columnLabelStyle: object;
    /**
     * The CSS style object defining the style of the columns title.
     */
    columnsTitleStyle: object;
    /**
     * Specifies initial hover delay in milliseconds for highlighting data items.
     */
    hoverBehaviorDelay: number;
    /**
     * An object defining the style defaults for nodes.
     */
    nodeDefaults: StyleDefaultsNodeDefaults;
    /**
     * The CSS style object defining the style of the row labels.
     */
    rowLabelStyle: object;
    /**
     * The CSS style object defining the style of the rows title.
     */
    rowsTitleStyle: object;
}
export interface StyleDefaultsCellDefaults {
    /**
     * The horizontal alignment value for the cell label.
     */
    labelHalign: string;
    /**
     * The CSS style object defining the style of the cell labels.
     */
    labelStyle: object;
    /**
     * The CSS style object defining the styles of the cell background and border when the cell is maximized.
     */
    maximizedSvgStyle: object;
    /**
     * The CSS style object defining the styles of the cell background and border when the cell is minimized.
     */
    minimizedSvgStyle: object;
    /**
     * Specifies when to display the cell count label. See the Help documentation for more information.
     */
    showCount: string;
    /**
     * The CSS style object defining the styles of the cell background and border.
     */
    svgStyle: object;
}
export interface StyleDefaultsNodeDefaults {
    /**
     * The default color of the node borders. The default value varies based on theme.
     */
    borderColor: string;
    /**
     * The default width of the node borders. The default value varies based on theme.
     */
    borderWidth: number;
    /**
     * The default background color of the nodes.
     */
    color: string;
    /**
     * An object defining the style defaults for the node icons.
     */
    iconDefaults: StyleDefaultsNodeDefaultsIconDefaults;
    /**
     * The default background color of the node indicator sections.
     */
    indicatorColor: string;
    /**
     * An object defining the style defaults for the node indicator icons.
     */
    indicatorIconDefaults: StyleDefaultsNodeDefaultsIndicatorIconDefaults;
    /**
     * The CSS style object defining the style of the node labels.
     */
    labelStyle: object;
    /**
     * The CSS style object defining the style of the node secondary labels.
     */
    secondaryLabelStyle: object;
}
export interface StyleDefaultsNodeDefaultsIconDefaults {
    /**
     * The URL of an image to display by default for the node icons.
     */
    background: string;
    /**
     * The default border color of the node icons. The default value varies based on theme.
     */
    borderColor: string;
    /**
     * The default border radius of the node icons. See the Help documentation for more information.
     */
    borderRadius: string;
    /**
     * The default border width of the node icons. The default value varies based on theme.
     */
    borderWidth: number;
    /**
     * The default fill color of the node icons.
     */
    color: string;
    /**
     * The default height of the node icons. If the value is 0, the height will be automatically based on the remaining node contents.
     */
    height: number;
    /**
     * The default opacity of the node icons.
     */
    opacity: number;
    /**
     * The default fill pattern of the node icons.
     */
    pattern: string;
    /**
     * The default shape of the node icons. Can take the name of a built-in shape or the SVG path commands for a custom shape.
     */
    shape: string;
    /**
     * The URL of an image to display by default for the node icons.
     */
    source: string;
    /**
     * The default width of the node icons. If the value is 0, the width will be automatically based on the remaining node contents.
     */
    width: number;
}
export interface StyleDefaultsNodeDefaultsIndicatorIconDefaults {
    /**
     * The default border color of the node indicator icons. The default value varies based on theme.
     */
    borderColor: string;
    /**
     * The default border radius of the node indicator icons. See the Help documentation for more information.
     */
    borderRadius: string;
    /**
     * The default border width of the node indicator icons. The default value varies based on theme.
     */
    borderWidth: number;
    /**
     * The default fill color of the node indicator icons.
     */
    color: string;
    /**
     * The default height of the node indicator icons. The default value varies based on theme.
     */
    height: number;
    /**
     * The default opacity of the node indicator icons.
     */
    opacity: number;
    /**
     * The default fill pattern of the node indicator icons.
     */
    pattern: string;
    /**
     * The default shape of the node indicator icons. Can take the name of a built-in shape or the SVG path commands for a custom shape.
     */
    shape: string;
    /**
     * The URL of an image to display by default for the node indicator icons.
     */
    source: string;
    /**
     * The default width of the node indicator icons. The default value varies based on theme.
     */
    width: number;
}
export interface Tooltip {
    /**
     * A function that returns a custom tooltip. See the Help documentation for more information.
     */
    renderer: null | null;
}
export interface Translations {
    /**
     * Used to describe a container that contains controls.
     */
    accessibleContainsControls: string;
    /**
     * Used to describe the data visualization type for accessibility.
     */
    componentName: string;
    /**
     * Used to indicate number of highlighted nodes in a cell.
     */
    highlightedCount: string;
    /**
     * Used for node overflow button.
     */
    labelAdditionalData: string;
    /**
     * Used to display a label and its value.
     */
    labelAndValue: 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 to indicate group info for nbox drawer and group nodes for accessibility.
     */
    labelGroup: string;
    /**
     * Text shown when the component receives invalid data.
     */
    labelInvalidData: string;
    /**
     * Text shown when the component receives no data.
     */
    labelNoData: string;
    /**
     * Used for the other label which aggregates small data values.
     */
    labelOther: string;
    /**
     * Used to indicate size of node drawer and group nodes for accessibility.
     */
    labelSize: 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;
}
