import { PluginKind, PluginContexts, PluginInterfaces, commonTokens } from 'stryker-api/plugin';
import { InjectableFunctionWithInject } from 'typed-inject';
export declare class PluginCreator<TPluginKind extends PluginKind> {
    private readonly kind;
    private readonly pluginResolver;
    private readonly injector;
    private constructor();
    create(name: string): PluginInterfaces[TPluginKind];
    private isFactoryPlugin;
    private isClassPlugin;
    static createFactory<TPluginKind extends PluginKind, TContext extends PluginContexts[TPluginKind]>(kind: TPluginKind): InjectableFunctionWithInject<TContext, PluginCreator<TPluginKind>, [typeof commonTokens.pluginResolver, typeof commonTokens.injector]>;
}
//# sourceMappingURL=PluginCreator.d.ts.map