import { Logger } from 'winston';
import { ITenantServiceProviders } from '@dolittle/sdk.dependencyinversion';
import { ExecutionContext } from '@dolittle/sdk.execution';
import { Cancellation } from '@dolittle/sdk.resilience';
import { ITrackProcessors } from '@dolittle/sdk.services';
import { ProjectionsClient } from '@dolittle/contracts/Runtime/Events.Processing/Projections_grpc_pb';
import { ProjectionProcessor } from './Internal/ProjectionProcessor';
import { IProjections } from './IProjections';
/**
 * Represents an implementation of {IProjections}.
 */
export declare class Projections extends IProjections {
    private readonly _client;
    private readonly _executionContext;
    private readonly _services;
    private readonly _tracker;
    private readonly _logger;
    private readonly _pingInterval;
    /**
     * Initializes an instance of {@link Projections}.
     * @param {ProjectionsClient} _client - The projections client to use.
     * @param {ExecutionContext} _executionContext - The base execution context of the client.
     * @param {ITenantServiceProviders} _services - For resolving services while handling requests.
     * @param {ITrackProcessors} _tracker - The tracker to register the started processors with.
     * @param {Logger} _logger - For logging.
     * @param {number} _pingInterval - The ping interval to configure the reverse call client with.
     */
    constructor(_client: ProjectionsClient, _executionContext: ExecutionContext, _services: ITenantServiceProviders, _tracker: ITrackProcessors, _logger: Logger, _pingInterval: number);
    /** @inheritdoc */
    register<T>(projectionProcessor: ProjectionProcessor<T>, cancellation?: Cancellation): void;
}
//# sourceMappingURL=Projections.d.ts.map