import { IProvider } from './index'; export declare type ProviderFactory = IProvider | ((...args: any[]) => IProvider); export interface ProviderManagerItem { provider: ProviderFactory; isDefault: boolean; arguments?: any[]; } export declare class ProviderManager { private static providers; static add(type: string, name: string, provider: ProviderFactory, isDefault: boolean, args?: any[]): ProviderManager; static clear(type: string): void; static hasAnyProvider(type: string): boolean; static count(): number; static countByType(type: string): number; static getNames(): string[]; static getNamesByType(type: string): string[]; static remove(type: string, name: string): boolean; static get(type: string, name?: string): TResult; }