import { Logger } from 'winston'; import { IServiceProvider } from '@dolittle/sdk.dependencyinversion'; import { IEventTypes } from '@dolittle/sdk.events'; import { ExecutionContext } from '@dolittle/sdk.execution'; import { Internal } from '@dolittle/sdk.events.processing'; import { Cancellation } from '@dolittle/sdk.resilience'; import { IReverseCallClient } from '@dolittle/sdk.services'; import { Failure } from '@dolittle/contracts/Protobuf/Failure_pb'; import { ProcessorFailure, RetryProcessingState } from '@dolittle/contracts/Runtime/Events.Processing/Processors_pb'; import { ProjectionsClient } from '@dolittle/contracts/Runtime/Events.Processing/Projections_grpc_pb'; import { ProjectionRegistrationRequest, ProjectionRegistrationResponse, ProjectionRequest, ProjectionResponse } from '@dolittle/contracts/Runtime/Events.Processing/Projections_pb'; import { IProjection } from '../IProjection'; import { ProjectionId } from '../ProjectionId'; /** * Represents an implementation of {@link Internal.EventProcessor} for {@link Projection}. * @template T The type of the projection read model. */ export declare class ProjectionProcessor extends Internal.EventProcessor { private _projection; private _eventTypes; /** * Initializes a new instance of {@link ProjectionProcessor}. * @param {IProjection} _projection - The projection. * @param {IEventTypes} _eventTypes - The registered event types for this projection. */ constructor(_projection: IProjection, _eventTypes: IEventTypes); /** @inheritdoc */ protected get registerArguments(): ProjectionRegistrationRequest; private setKeySelector; private createCopiesSpecification; private createMongoDBPropertyConversions; /** @inheritdoc */ protected createClient(client: ProjectionsClient, registerArguments: ProjectionRegistrationRequest, callback: (request: ProjectionRequest, executionContext: ExecutionContext) => Promise, executionContext: ExecutionContext, pingInterval: number, logger: Logger, cancellation: Cancellation): IReverseCallClient; /** @inheritdoc */ protected getFailureFromRegisterResponse(response: ProjectionRegistrationResponse): Failure | undefined; /** @inheritdoc */ protected getRetryProcessingStateFromRequest(request: ProjectionRequest): RetryProcessingState | undefined; /** @inheritdoc */ protected createResponseFromFailure(failure: ProcessorFailure): ProjectionResponse; /** @inheritdoc */ protected handle(request: ProjectionRequest, executionContext: ExecutionContext, services: IServiceProvider, logger: Logger): Promise; } //# sourceMappingURL=ProjectionProcessor.d.ts.map