import { configure, type Config } from "./config.js"; import { type PriorityValue } from "./request/queue.js"; import { cancel as cancelRequest, cancelAll, type FetchResult } from "./request/retry.js"; import { debounce } from "./utils.js"; import { type ResultMeta, type ResultDetail, type ParsedResponse } from "./parser.js"; import { getSuggestDebounced, type SuggestItem, type SuggestResult } from "./suggest.js"; import { on, off, type SearchEventMap } from "./events.js"; import { addHistory, getHistory, removeHistory, clearHistory, mergeWithHistory, type HistoryEntry } from "./history.js"; import { getIsOnline } from "./offline.js"; export { configure, debounce, cancelRequest, cancelAll, getSuggestDebounced, on, off, addHistory, getHistory, removeHistory, clearHistory, mergeWithHistory, getIsOnline, }; export type { Config, FetchResult, ResultMeta, ResultDetail, ParsedResponse, SuggestItem, SuggestResult, SearchEventMap, HistoryEntry, }; export type SearchType = "web" | "image" | "video" | "news" | "panel"; export interface SearchOptions { q: string; page?: number; type?: SearchType; safesearch?: 0 | 1 | 2; lang?: string; enableStreaming?: boolean; onChunk?: (chunk: unknown) => void; usePersistentCache?: boolean; metaOnly?: boolean; signal?: AbortSignal; } export interface RequestOptions { useCache?: boolean; priority?: PriorityValue; onChunk?: ((chunk: unknown) => void) | null; usePersistentCache?: boolean; signal?: AbortSignal; } export interface SearchStats { memoryCacheSize: number; memoryCacheMax: number; isLowMemory: boolean; isCriticalMemory: boolean; inFlightCount: number; isOnline: boolean; } export declare function getSearchStats(): SearchStats; export declare function init(options?: Partial): void; export declare function destroy(): Promise; export declare function search({ q, page, type, safesearch, lang, enableStreaming, onChunk, usePersistentCache, metaOnly, signal, }: SearchOptions): Promise; export declare function searchMeta(opts: Omit): Promise; export declare function fetchDetail(opts: Omit, idx: number): Promise; export declare function getSuggest(q: string): Promise; export interface Pager { next(): Promise; prev(): Promise; readonly currentPage: number; reset(): void; } export declare function createPager(opts: Omit, maxPage?: number): Pager; export type SearchAllResult = Partial>; export declare function searchAll(opts: Omit, types?: SearchType[]): Promise; export declare const searchWeb: (q: string, page?: number, signal?: AbortSignal) => Promise; export declare const searchImage: (q: string, page?: number, signal?: AbortSignal) => Promise; export declare const searchVideo: (q: string, page?: number, signal?: AbortSignal) => Promise; export declare const searchNews: (q: string, page?: number, signal?: AbortSignal) => Promise; export declare const searchPanel: (q: string, signal?: AbortSignal) => Promise; //# sourceMappingURL=index.d.ts.map