import type { UmbManagementApiInFlightRequestCache } from '../inflight-request/cache.js';
import type { UmbManagementApiItemDataCache } from './cache.js';
import type { UmbApiResponse } from '../../core/resources/index.js';
import { UmbControllerBase } from '../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
export interface UmbManagementApiItemDataRequestManagerArgs<ItemResponseModelType> {
    getItems: (unique: Array<string>) => Promise<UmbApiResponse<{
        data: Array<ItemResponseModelType>;
    }>>;
    dataCache: UmbManagementApiItemDataCache<ItemResponseModelType>;
    inflightRequestCache?: UmbManagementApiInFlightRequestCache<ItemResponseModelType>;
    getUniqueMethod: (item: ItemResponseModelType) => string;
}
export declare class UmbManagementApiItemDataRequestManager<ItemResponseModelType> extends UmbControllerBase {
    #private;
    getUniqueMethod: (item: ItemResponseModelType) => string;
    constructor(host: UmbControllerHost, args: UmbManagementApiItemDataRequestManagerArgs<ItemResponseModelType>);
    getItems(ids: Array<string>): Promise<UmbApiResponse<{
        data?: Array<ItemResponseModelType>;
    }>>;
}
