import { LitElement, PropertyValues, TemplateResult } from "lit";
import { OrTreeNode } from "./or-tree-node";
/**
 * @slot - Default slot for child nodes within the group
 * @slot parent - Slot for inserting a parent node
 * @csspart chevron - The chevron icon element for expanding/collapsing the group.
 */
export declare class OrTreeGroup extends LitElement {
    /**
     * Determines the visibility of child nodes.
     * Setting this to `false` hides them, and acts as a 'collapsed' state.
     */
    expanded: boolean;
    /**
     * Only allows child nodes to be selected, making the expander (parent node) readonly.
     * If this is set to false, only the chevron icon can be used to collapse/expand the list.
     */
    readonly leaf = false;
    /**
     * Makes the group readonly
     */
    readonly readonly = false;
    protected _childNodes?: Array<HTMLLIElement>;
    protected _parentNodes?: Array<OrTreeNode>;
    /** A click event listener on the component, used for selecting, expanding, and collapsing the group */
    protected _slotClickListener: (e: MouseEvent) => void | null;
    /** A click event listener on the chevron, used for expanding/collapsing the group */
    protected _chevronClickListener: (e: MouseEvent) => void;
    static get styles(): import("lit").CSSResult[];
    /** Selects the group (parent) node. */
    select(): void;
    /** Selects the group node itself, and all children nodes within that group. */
    selectAll(): void;
    /** Deselects the group (parent) node. */
    deselect(): void;
    /** Deselects the group node itself, and all children nodes within that group. */
    deselectAll(): void;
    /** Returns the group (parent) node ({@link OrTreeNode}) using a query selector. */
    getGroupNode(): OrTreeNode | undefined;
    /** Returns a list of all children nodes ({@link OrTreeNode}) within the group, using a query selector. */
    getChildNodes(): OrTreeNode[];
    firstUpdated(changedProps: PropertyValues): void;
    disconnectedCallback(): void;
    render(): TemplateResult;
    /**
     * Returns an HTML template that represents the icon for this group.
     * @param expanded State of the group
     */
    protected _getIconTemplate(expanded?: boolean): TemplateResult;
    /**
     * Function that expands/collapses the group, changing the visibility of the child nodes.
     */
    protected _onExpandToggle(_ev: MouseEvent): void;
    /**
     * Event listener for 'slotchange' of the default slot.
     * Normally triggers when <or-tree-node> elements are added or removed.
     */
    protected _onSlotChange(_ev: Event): void;
    /**
     * Function that applies CSS to TreeNode based on the group indentation.
     * It loops through all parent elements, and detects the amount of or-tree-group elements it is in.
     * The more nested in the tree, the more left handed padding is applied.
     * @param children Node elements to apply padding to.
     */
    protected _applyIndentToChildren(children?: OrTreeNode[]): void;
}
