export interface SearchResult { title: string; href: string; body: string; } export interface SearchOptions { region?: string; timelimit?: "d" | "w" | "m" | "y"; maxResults?: number; page?: number; } export interface WebContext { proxyUrl?: string; apiKeys?: Record; } export interface SearchProvider { id: string; requiresApiKey?: boolean; search: (query: string, options: SearchOptions, context: WebContext) => Promise; } export type FetchResult = { kind: "text"; contentType: string; text: string; title?: string; metadata?: Record; } | { kind: "binary"; contentType: string; data: Uint8Array; }; export interface ImageSearchResult { title: string; imageUrl: string; imageWidth: number; imageHeight: number; thumbnailUrl: string; thumbnailWidth: number; thumbnailHeight: number; source: string; domain: string; link: string; position: number; } export interface ImageSearchOptions { num?: number; page?: number; gl?: string; hl?: string; } export interface ImageSearchProvider { id: string; requiresApiKey?: boolean; searchImages: (query: string, options: ImageSearchOptions, context: WebContext) => Promise; } export interface FetchProvider { id: string; requiresApiKey?: boolean; fetch: (url: string, context: WebContext) => Promise; } //# sourceMappingURL=types.d.ts.map