import type { ProbeMatch, FetchedNode, ProbeMode } from './fcp-types.js'; export interface FederatedSourceResult { source: string; description?: string; mode: 'read' | 'readwrite'; trust: 'own' | 'team' | 'peer' | 'public'; matches: ProbeMatch[]; error?: string; latencyMs: number; } export interface FederatedRelevance { /** One entry per source that responded (or errored). */ sources: FederatedSourceResult[]; /** Compact text hint safe to inject into an LLM prompt. */ hint: string; /** Total wall time for all probes. */ totalMs: number; } export interface ProbeOpts { mode?: ProbeMode; entityTypes?: string[]; timeoutMs?: number; /** For mode="date" — ISO-8601 date string (YYYY-MM-DD) */ date?: string; /** For mode="date" — end of range (ISO-8601). Defaults to same as date for a single day. */ dateTo?: string; /** For mode="latest" — max results to return per source */ limit?: number; } /** Keyword probe — fan-out keyword search to all configured sources. */ export declare function probeAll(keywords: string[], opts?: Pick): Promise; /** Date probe — ask all sources what they have for a given date (or range). */ export declare function probeByDate(date: string, opts?: Pick): Promise; /** Todo probe — ask all sources for open tasks / action items. */ export declare function probeTodos(opts?: Pick): Promise; /** Latest probe — ask all sources for their most recently created/updated items. */ export declare function probeLatest(opts?: Pick): Promise; export interface FederatedFetchRequest { source: string; ids: string[]; detail?: 'summary' | 'full'; } export interface FederatedFetchResult { source: string; nodes: FetchedNode[]; denied_ids: string[]; error?: string; } export declare function fetchAll(requests: FederatedFetchRequest[], purpose?: string): Promise; //# sourceMappingURL=federator.d.ts.map