import { DslDefinition, DslSlots, TemplateDslDefinition, ViewDslDefinition } from '@oinone/kunlun-dsl';
import { Pagination, RuntimeModelField, RuntimeRelationField, RuntimeView } from '@oinone/kunlun-engine';
import { ViewType } from '@oinone/kunlun-meta';
import { Condition } from '@oinone/kunlun-request';
import { OioTreeNode } from '@oinone/kunlun-vue-ui-common';
import { SimpleTreeModelField, TreeData, TreeNodeMetadata } from '../typing';
export declare class TreeUtils {
    static DSL_NODES_TYPE: string;
    static DSL_NODE_TYPE: string;
    static convert(dsl: DslDefinition | undefined): TreeNodeMetadata | undefined;
    static convertSimpleTreeModelField(dsl: DslDefinition, model: string, target: string | SimpleTreeModelField, setter: (val: SimpleTreeModelField) => void): void;
    static findMetadataByKey(root: TreeNodeMetadata, key: string): TreeNodeMetadata | undefined;
    static hasMore(pagination: Pagination | undefined): boolean;
    static LOAD_MORE_NODE_CLASS_NAME: string;
    static SELECT_ALL_CLASS_NAME: string;
    static SELECT_ALL_KEY: string;
    static createLoadMoreNode<V = unknown>(parent: OioTreeNode<V> | undefined): OioTreeNode<V>;
    static fillLoadMoreAction(children: OioTreeNode<TreeData>[]): OioTreeNode<TreeData>[];
    static getModelFieldMetadata(simpleModelField: SimpleTreeModelField, targetModel: string): Promise<RuntimeModelField | undefined>;
    static newCondition(key: string, value: unknown): Condition;
    static consumerReferenceModelField(originModel: string, modelField: RuntimeRelationField, consumer: (originFields: string[], targetFields: string[], index: number, reverse: boolean) => void, consumerBefore?: () => void): Promise<boolean>;
    static seekContentLayout(view: RuntimeView | undefined, viewType: ViewType, inline: boolean): DslDefinition | undefined;
    static mergeLayoutBySlotName(dslSlots: DslSlots, slotName: string, inline: boolean, view: RuntimeView | undefined): {
        viewType: ViewType;
        targetSlot: TemplateDslDefinition;
        viewDsl: ViewDslDefinition;
        viewTemplate: DslDefinition;
    } | undefined;
}
