@difizen/magent-core
Version:
11 lines • 714 B
TypeScript
import type { Contribution, Newable } from '@difizen/mana-app';
import { Syringe } from '@difizen/mana-app';
export interface PrioritizedContribution<O = any, T = any> {
canHandle: (option: O) => number;
handle: (option: O) => T;
}
export declare class PrioritizedContributionManager<O = any, T extends PrioritizedContribution<O> = PrioritizedContribution> {
protected findContribution(option: O, provider: Contribution.Provider<T>): T;
}
export declare const prioritizedContributionFactory: <O = any, T = any>() => (token: Syringe.Token<PrioritizedContribution<O, T>>, contribution: PrioritizedContribution<O, T>) => (target: Newable<T>) => void;
//# sourceMappingURL=prioritized-contribution.d.ts.map