import { HubClient } from '../hub/HubClient';
import { ObjectConsumer } from './ObjectConsumer';
import { ConsumerExtInfo, ObjectDescription } from '../types';
import { DefaultObjectProxy } from './DefaultObjectProxy';
import { ProviderManager } from './ProviderManager';
export declare class ConsumerManager {
    protected hubClient: HubClient;
    private consumerCache;
    private providerManager;
    constructor(hubClient: any, providerManager: ProviderManager);
    /**
     * Get a Consumer by an ObjectDescription
     * @param {ObjectDescription} objectDescription
     * @param {ConsumerExtInfo} extInfo
     * @return {ObjectConsumer}
     */
    getConsumer(objectDescription: ObjectDescription, extInfo?: ConsumerExtInfo): ObjectConsumer;
    /**
     * get an Object Proxy by an ObjectDescription
     * @param {ObjectDescription} objectDescription
     * @param {ConsumerExtInfo} extInfo
     * @return {Promise<T & DefaultObjectProxy>}
     */
    getProxy<T extends any>(objectDescription: ObjectDescription, extInfo?: ConsumerExtInfo): Promise<T & DefaultObjectProxy>;
}
//# sourceMappingURL=ConsumerManager.d.ts.map