import { IHubEntityBase } from "./types/IHubEntityBase";
/**
 * Result of attempting to match an identifier to entities
 * Used to resolve a slug or other identifier to one or more entities.
 */
export interface IIdentifierMatches {
    identifier: string;
    type: MatchableType;
    matcher: "id" | "id-segment" | "keyword-search" | "title-search";
    num: number;
    matches: IMatch[];
}
/**
 * Subset of HubEntityType that can be matched via identifier
 * Basically the list of types that support slugs.
 */
export type MatchableType = "project" | "initiative" | "site" | "page" | "content" | "discussion" | "event";
/**
 * Represents a matched entity
 */
export interface IMatch extends Partial<IHubEntityBase> {
    identifier: string;
    inCatalog?: boolean;
}
