import { Guid, IEquatable } from '@dolittle/rudiments';
import { ScopeId } from '@dolittle/sdk.events';
import { ProjectionId } from '../ProjectionId';
/**
 * Represents the unique identifier of a Projection in a Scope.
 */
export declare class ScopedProjectionId implements IEquatable {
    readonly projectionId: ProjectionId;
    readonly scopeId: ScopeId;
    /**
     * Initialises a new instance of the {@link ScopedProjectionId} class.
     * @param {ProjectionId} projectionId - The projection id.
     * @param {ScopeId} scopeId - The scope id.
     */
    constructor(projectionId: ProjectionId, scopeId: ScopeId);
    /** @inheritdoc */
    equals(other: any): boolean;
    /**
     * Creates a {@link ScopedProjectionId} from a projection id and scope id..
     * @param {string | Guid | ProjectionId} projectionId - The projection id.
     * @param {string | Guid | ScopeId} scopeId - The scope id.
     * @returns {ScopedProjectionId} The created scoped projection id.
     */
    static from(projectionId: string | Guid | ProjectionId, scopeId: string | Guid | ScopeId): ScopedProjectionId;
}
/**
 * Checks whether or not an object is an instance of {@link ScopedProjectionId}.
 * @param {any} object - The object to check.
 * @returns {boolean} True if the object is an {@link ScopedProjectionId}, false if not.
 */
export declare const isScopedProjectionId: (object: any) => object is ScopedProjectionId;
//# sourceMappingURL=ScopedProjectionId.d.ts.map