27 lines
542 B
TypeScript
27 lines
542 B
TypeScript
export interface SearchResult {
|
|
title: string;
|
|
content: string;
|
|
path: string;
|
|
anchor?: string;
|
|
type: string;
|
|
relevance: number; // 0–1
|
|
url: string;
|
|
}
|
|
|
|
export interface SearchProviderResponse {
|
|
results: SearchResult[];
|
|
notice?: string;
|
|
}
|
|
|
|
export interface SearchProvider {
|
|
id: string;
|
|
name: string;
|
|
timeout?: number;
|
|
search: (query: string, signal: AbortSignal) => Promise<SearchProviderResponse>;
|
|
}
|
|
|
|
export interface SearchConfig {
|
|
timeout: number;
|
|
providers: SearchProvider[];
|
|
}
|