export interface CdkDropDownItem {
    [key: string]: any;
    children?: CdkDropDownItem[];
}
export interface CdkIndexTree {
    root: CdkIndexTreeNode;
    dropItems: CdkDropDownItem[];
}
export interface CdkIndexTreeNode {
    parent?: CdkIndexTreeNode;
    itemOfList: CdkDropDownItem;
    indexOfList: number;
    children?: CdkIndexTreeNode[];
}
export declare function getParent(roots: CdkDropDownItem[], children: CdkDropDownItem[]): CdkDropDownItem | undefined;
export declare function getDecendantCount(parent: CdkDropDownItem): number;
export declare function getTotalCount(parents: CdkDropDownItem[]): number;
export declare function buildTree(children: CdkDropDownItem[]): CdkDropDownItem;
export declare function constructCdkIndexTree(rootNode: CdkDropDownItem): CdkIndexTree;
export declare function splitTree(tree: CdkIndexTree, startIndex: number, endIndex: number): CdkDropDownItem;
export declare function swapTreeNodes(tree: CdkIndexTree, sourceIndex: number, targetIndex: number): void;
export declare function nestTreeNode(tree: CdkIndexTree, sourceIndex: number, nestIndex: number): void;
