import { ESearchOptions, ESummaryOptions } from './searchOptions'; export interface IPubmedApi { retMode: RetMode; apiKey: ApiKey; eInfo: { getDbList: () => Promise; getDbInfo: (db: string) => Promise; }; eSearch: { search: ( db: string, term: string, options: ESearchOptions, ) => Promise; }; eCitMatch: { match: ( db: string, bData: string, email?: string | undefined, ) => Promise; }; eSummary: { search: ( db: string, id: string, options: ESummaryOptions, ) => Promise; }; eSpell: { search: (db: string, term: string) => Promise; }; } export type RetMode = 'json' | 'xml'; export type ApiKey = string;