import { Invocable, InvocableResolver } from './invocable'; import { Injection } from './injection'; import { SpecifierResolver } from './specifier'; export default class InvocableRegistry implements InvocableResolver { private _specifierResolver; private _invocables; private _invocableArguments; constructor(specifierResolver: SpecifierResolver); registerInvocable(specifier: Specifier, invocable: Invocable): void; unregisterInvocable(specifier: Specifier): void; invocableFor(specifier: Specifier): Invocable; registerInvocableArguments(specifier: Specifier, args: Injection[]): void; unregisterInvocableArguments(specifier: Specifier): void; invocableArgumentsFor(specifier: Specifier): Injection[]; retrieveInvocable(specifier: Specifier): Invocable; retrieveInvocableArguments(specifier: Specifier): Injection[]; }