import { State } from '../shared/State';
import type { IdObjectSkeletonInterface } from './ApiTypes';
import { type NodeRefSkeletonInterface } from './NodeApi';
export interface UiConfigInterface {
    categories: string;
}
export type TreeSkeleton = IdObjectSkeletonInterface & {
    entryNodeId: string;
    nodes: Record<string, NodeRefSkeletonInterface>;
    identityResource?: string;
    uiConfig?: UiConfigInterface;
    enabled?: boolean;
    innerTreeOnly?: boolean;
};
/**
 * Get all trees
 * @returns {Promise<unknown[]>} a promise that resolves to an array of tree objects
 */
export declare function getTrees({ state }: {
    state: State;
}): Promise<any>;
/**
 * Get tree by id/name
 * @param {String} id tree id/name
 * @returns {Promise} a promise that resolves to a tree object
 */
export declare function getTree({ id, state }: {
    id: string;
    state: State;
}): Promise<any>;
/**
 * Put tree by id/name
 * @param {String} treeId tree id/name
 * @param {Object} treeData tree object
 * @returns {Promise} a promise that resolves to a tree object
 */
export declare function putTree({ treeId, treeData, state, }: {
    treeId: string;
    treeData: TreeSkeleton | string;
    state: State;
}): Promise<TreeSkeleton>;
/**
 * Delete tree by id/name
 * @param {String} treeId tree id/name
 * @returns {Promise} a promise that resolves to a tree object
 */
export declare function deleteTree({ treeId, state, }: {
    treeId: string;
    state: State;
}): Promise<any>;
//# sourceMappingURL=TreeApi.d.ts.map