import { LitElement } from 'lit';
import { IconButton } from '../icon-button';
import { Icon } from '../icon';
import { Checkbox } from '../checkbox';
/**
 * @element nve-tree-node
 * @description A tree view widget presents a hierarchical list. Any item in the hierarchy may have child items, and items that have children can expand or collapse to show or hide the children.
 * @since 1.2.0
 * @entrypoint \@nvidia-elements/core/tree
 * @event open - Dispatched when the node opens.
 * @event close - Dispatched when the node closes.
 * @event select - Dispatched when the node selection state changes.
 * @command --select - use to select the node
 * @command --deselect - use to deselect the node
 * @command --toggle-select - use to toggle the node selection state
 * @command --open - use to open the node
 * @command --close - use to close the node
 * @command --toggle - use to toggle open / closed state of the node
 * @slot - Use default slot for basic text content or nested <nve-tree-node> elements.
 * @slot content - Use only for extended long form content containing interactive elements or form inputs.
 * @cssprop --color
 * @cssprop --border-radius
 * @cssprop --font-size
 * @cssprop --min-height
 * @cssprop --text-wrap
 * @cssprop --font-weight
 * @cssprop --width

 * @csspart icon-button - The icon button element
 * @csspart icon - The icon element
 * @csspart checkbox - The checkbox element

 * @aria https://www.w3.org/WAI/ARIA/apg/patterns/treeview/
 *
 */
export declare class TreeNode extends LitElement {
    #private;
    /**
     * Determines if node is in an expanded state.
     */
    expanded: boolean;
    /**
     * Determines whether if node is in a selected state.
     */
    selected: boolean;
    /**
     * Determines whether a node can be expandable. Expandable by default if slotted nodes exist.
     */
    expandable: boolean;
    /**
     * Determines whether a node can be in a selected state. Nodes can be in a single or multi select state.
     */
    selectable: 'single' | 'multi';
    /**
     * Determines the highlighted state of the element. Highlighted states serve non-interactive selections where nodes may relate to other selected portions of the UI.
     */
    highlighted: boolean;
    /**
     * Updates internal string values for internationalization.
     */
    i18n: Partial<import('../internal').I18nStrings & {
        __set: boolean;
    }>;
    /** @private */
    slot: string;
    /**
     * Returns list of child nodes
     */
    readonly nodes: TreeNode[];
    indeterminate: boolean;
    behaviorExpand: boolean;
    behaviorSelect: boolean;
    static metadata: {
        tag: string;
        version: string;
        parents: string[];
    };
    static elementDefinitions: {
        [IconButton.metadata.tag]: typeof IconButton;
        [Icon.metadata.tag]: typeof Icon;
        [Checkbox.metadata.tag]: typeof Checkbox;
    };
    static styles: import('lit').CSSResult[];
    _internals: ElementInternals;
    render(): import('lit').TemplateResult<1>;
    connectedCallback(): void;
    disconnectedCallback(): void;
    /** opens and sets the expanded state automatically if behaviorExpand is true */
    open(): void;
    /** closes and sets the expanded state automatically if behaviorExpand is true */
    close(): void;
}
