import { InstantiationMode, InstanceFactory, Name } from './types';
/**
 * Component for service name T, e.g. `wsc`
 */
export declare class Component<T extends Name = Name> {
    readonly name: T;
    readonly instanceFactory: InstanceFactory<T>;
    instantiationMode: InstantiationMode;
    /**
     *
     * @param name The public service name, e.g. wsc, wsc-connector-internal
     * @param instanceFactory Service factory responsible for creating the public interface
     
     */
    constructor(name: T, instanceFactory: InstanceFactory<T>);
    setInstantiationMode(mode: InstantiationMode): this;
}
