@dolittle/sdk.common
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
22 lines • 1.14 kB
TypeScript
import { Constructor } from '@dolittle/types';
import { Binding, IModel, ProcessorBuilderBinding, TypeBinding } from './IModel';
import { AnyIdentifier } from './Identifier';
import { ProcessorBuilder } from './ProcessorBuilder';
/**
* Represents an implementation of {@link IModel}.
*/
export declare class Model extends IModel {
/** @inheritdoc */
readonly bindings: Binding[];
/**
* Initialises a new instance of the {@link Model} class.
* @param {[AnyIdentifier, Constructor][]} types - The valid type bindings.
* @param {[AnyIdentifier, ProcessorBuilder][]} processorBuilders - The valid processor builder bindings.
*/
constructor(types: readonly [AnyIdentifier, Constructor<any>][], processorBuilders: readonly [AnyIdentifier, ProcessorBuilder][]);
/** @inheritdoc */
getTypeBindings<T extends AnyIdentifier>(predicate: (identifier: any) => identifier is T): readonly TypeBinding<T>[];
/** @inheritdoc */
getProcessorBuilderBindings<T extends Constructor<any>[]>(...builderTypes: T): readonly ProcessorBuilderBinding<InstanceType<T[number]>>[];
}
//# sourceMappingURL=Model.d.ts.map