import type { HousekeepingDomainId } from "../../migration/types"; import type { CapabilityRequirement, HousekeepingCapabilityContext, } from "./capability"; import type { CanonicalHousekeepingHref } from "./domain"; import type { HousekeepingResult } from "./result"; export interface HousekeepingSearchInput { term: string; limit: number; } export type HousekeepingSearchResultType = "navigation" | "entity" | "command"; export interface HousekeepingSearchResult { id: string; domain: HousekeepingDomainId; type: HousekeepingSearchResultType; title: string; description?: string; href: CanonicalHousekeepingHref; capability: CapabilityRequirement; } export interface HousekeepingSearchProvider { id: string; owner: HousekeepingDomainId; capability: CapabilityRequirement; search( context: HousekeepingCapabilityContext, input: HousekeepingSearchInput, ): Promise>; }