import { ResourceMeta } from "./core/resource-meta";
import { WithIndexer } from "../../fd-toolbox-core/types/with-indexer";
import { UiResourceMeta } from "./ui-resource-meta";
import { PropertyMeta } from "./core/property-meta";
/**
 * Gets the {@link ResourceMeta} object by resource name.
 *
 * @param resourceName - The name of the resource to fetch metadata for.
 */
export declare function fetchResourceMeta(resourceName: string): Promise<any>;
/**
 * Gets the {@link ResourceMeta} objects by resource names.
 *
 * @param resourceNames - An array of resource names to fetch metadata for.
 */
export declare function fetchResourceMetas(resourceNames: string[]): Promise<WithIndexer<ResourceMeta>>;
/**
 * Gets the {@link ResourceMeta} objects for all resources related to the given resource.
 *
 * @param resourceMeta - The {@link ResourceMeta} object to find related resources for.
 */
export declare function getRelatedResourcesMetas(resourceMeta: ResourceMeta): Promise<ResourceMeta[]>;
/**
 * Finds many-to-many related {@link PropertyMeta} objects by {@link UiResourceMeta}.
 *
 * @param uiResourceMeta - The {@link UiResourceMeta} to analyze for many-to-many relations.
 */
export declare function getManyToManyRelatedPropertyMetas(uiResourceMeta: UiResourceMeta): Promise<PropertyMeta[]>;
