import { ODataConfig } from "../../fd-toolbox/odata/odataconfig";
import { ResourceMeta } from "./core/resource-meta";
import { WithId } from "../../fd-toolbox-core/types/resource-with-id";
/**
 * Gets resources by resourceName from api.
 *
 * @template T - type of resources
 * @param resourceName - name of the resource
 * @returns T
 */
export declare function fetchResources<T = WithId>(resourceName: string, oDataConfig?: ODataConfig): Promise<any>;
/**
 * Gets resource by {@link ResourceMeta} and resourceId from api.
 *
 * @template T - type of a resource
 *
 * @param resourceMeta - {@link ResourceMeta} of the resource
 * @param resourceId - id of the resource
 * @param oDataConfig - (optional) {@link ODataConfig}
 *
 * @returns T or undefined if not found
 */
export declare function fetchResource<T = WithId>(resourceMeta: ResourceMeta, resourceId: string, oDataConfig?: ODataConfig): Promise<any>;
/**
 * Gets {@link ODataConfig} for a resource
 *
 * @param resourceMeta - {@link resourceMeta} of the resource
 * @param oDataConfig - (optional) Initial {@link ODataConfig}
 *
 * @returns object {@link ODataConfig}
 */
export declare function getResourceODataConfig(resourceMeta: ResourceMeta, oDataConfig?: ODataConfig): Promise<ODataConfig>;
/**
 * Gets resource by resource name and resource id from api.
 *
 * @template T - type of a resource
 * @param resourceName - name of the resource
 * @param resourceId - id of the resource
 * @param oDataConfig - (optional) {@link ODataConfig}
 *
 * @returns T or undefined if not found
 */
export declare function fetchResourceByName<T = WithId>(resourceName: string, resourceId: string, oDataConfig?: ODataConfig): Promise<any>;
