/// <reference types="../../index.d.ts" />
import { PropertyValues } from 'lit';
import { PublicLitElement as LitElement, JsxNode, TargetedEvent } from '@arcgis/lumina';
import { Scale, SelectionMode } from '../interfaces';
import { TreeItem } from '../calcite-tree-item/customElement.js';

/** @slot  - A slot for `calcite-tree-item` elements. */
export declare class Tree extends LitElement {
    /**
     * When `true`, displays indentation guide lines.
     *
     * @default false
     */
    lines: boolean;
    /**
     * Specifies the size of the component.
     *
     * @default "m"
     */
    scale: Scale;
    /** Specifies the component's selected items. */
    readonly selectedItems: HTMLCalciteTreeItemElement[];
    /**
     * Specifies the selection mode of the component, where:
     *
     * `"ancestors"` displays with a checkbox and allows any number of selections from corresponding parent and child selections,
     *
     * `"children"` allows any number of selections from one parent from corresponding parent and child selections,
     *
     * `"multichildren"` allows any number of selections from corresponding parent and child selections,
     *
     * `"multiple"` allows any number of selections,
     *
     * `"none"` allows no selections,
     *
     * `"single"` allows one selection, and
     *
     * `"single-persist"` allows and requires one selection.
     *
     * @default "single"
     */
    selectionMode: SelectionMode;
    /** Fires when the user selects/deselects `calcite-tree-items`. */
    readonly calciteTreeSelect: TargetedEvent<this, void>;
}
