import { Constructor } from '@dolittle/types';
import { ScopeId } from '@dolittle/sdk.events';
import { ProjectionId } from '../ProjectionId';
import { IProjectionReadModelTypes } from './IProjectionReadModelTypes';
import { ScopedProjectionId } from './ScopedProjectionId';
import { TypeMap } from '@dolittle/sdk.artifacts';
/**
 * Represents an implementation of {@link IProjectionReadModelTypes}.
 */
export declare class ProjectionReadModelTypes extends TypeMap<ScopedProjectionId, [string, string]> implements IProjectionReadModelTypes {
    /**
     * Initialises a new instance of the {@link ProjectionReadModelTypes} class.
     */
    constructor();
    /** @inheritdoc */
    hasTypeFor(projection: ScopedProjectionId | ProjectionId, scope?: ScopeId): boolean;
    /** @inheritdoc */
    getTypeFor(projection: ScopedProjectionId | ProjectionId, scope?: ScopeId): Constructor<any>;
    /** @inheritdoc */
    resolveFrom(object: any, projection?: ScopedProjectionId | ProjectionId, scope?: ScopeId): ScopedProjectionId;
    /** @inheritdoc */
    associate(type: Constructor<any>, projection: ScopedProjectionId | ProjectionId, scope?: ScopeId): void;
}
//# sourceMappingURL=ProjectionReadModelTypes.d.ts.map