@difizen/mana-syringe
Version:
21 lines • 1.08 kB
TypeScript
import type { Disposable } from '@difizen/mana-common';
import { Emitter } from '@difizen/mana-common';
import { DisposableCollection } from '@difizen/mana-common';
import type { Syringe } from '../core';
import { type Option, type Provider } from './contribution-protocol';
export declare class DefaultContributionProvider<T extends Record<string, any>> implements Provider<T>, Disposable {
protected onChangedEmitter: Emitter<void>;
get onChanged(): import("@difizen/mana-common").Event<void>;
protected option: Option;
protected services: T[] | undefined;
protected readonly serviceIdentifier: Syringe.Token<T>;
protected readonly container: Syringe.Container;
protected toDispose: DisposableCollection;
constructor(serviceIdentifier: Syringe.Token<T>, container: Syringe.Container, option?: Option);
disposed?: boolean | undefined;
dispose(): void;
protected onCtxChanged: () => void;
protected setServices(recursive: boolean): T[];
getContributions(option?: Option): T[];
}
//# sourceMappingURL=contribution-provider.d.ts.map