import type { JSX } from '../../stencil-public-runtime';
import type { FocusableElement, KolFocusOptions, LabelPropType, TreeAPI, TreeStates } from '../../schema';
export declare class KolTreeWc implements TreeAPI, FocusableElement {
    private readonly host?;
    state: TreeStates;
    private observer?;
    private treeItemElements?;
    private cachedOpenItems?;
    private cacheValid;
    private rafHandle?;
    _label: LabelPropType;
    validateLabel(value?: LabelPropType): void;
    focus(options?: KolFocusOptions): Promise<void>;
    invalidateOpenItemsCache(): Promise<void>;
    render(): JSX.Element;
    private static isTreeItem;
    componentWillLoad(): void;
    disconnectedCallback(): void;
    private observeChildListMutations;
    private handleSlotchange;
    private observeTopLevelItems;
    private scheduleTreeChange;
    private getTopLevelTreeItems;
    private handleTreeChange;
    private getTreeItemElements;
    private getOpenTreeItemElements;
    handleKeyDown(event: KeyboardEvent): Promise<void>;
    handleFocusIn(event: FocusEvent): void;
    handleFocusOut(event: FocusEvent): void;
    private ensureActiveItemVisibility;
}
