import type { ExploreItem } from './explore-contract.js'; export declare const PEOPLE_SOURCES: readonly ["relations", "contacts", "speakers"]; export type PeopleSource = typeof PEOPLE_SOURCES[number]; export declare const PEOPLE_SOURCE_LABELS: Record; /** An account-scoped read projection; personKey is never a write/authorization reference. */ export interface PersonFacet { key: string; personKey: string; source: PeopleSource; name: string; aliases: string[]; hasRemark?: boolean; accountLinked: boolean; isSelf: boolean; avatarRef?: string; relation?: ExploreItem; speakerRef?: string; assignmentRef?: string; chatRef?: string; } export interface PeoplePage { source: PeopleSource; items: PersonFacet[]; nextCursor?: string; } export interface UnifiedPerson { key: string; name: string; aliases: string[]; facets: PersonFacet[]; sources: PeopleSource[]; isSelf: boolean; avatarRef?: string; } /** Only a verified stable account/speaker/entity identity can combine rows, never a name. */ export declare function combinePeople(facets: readonly PersonFacet[]): UnifiedPerson[]; export declare function personMatches(person: UnifiedPerson, query: string): boolean; //# sourceMappingURL=people-contract.d.ts.map