import { Book, Category, Duration, SearchLanguage } from "./types"; /** * A set of parameters used to search the Audible website */ export interface SearchParams { /** * A general search string */ keywords?: string; /** * A title of a book to search for */ title?: string; /** * The name of an author to search for */ author?: string; /** * The name of a narrator to search for */ narrator?: string; /** * A publishing company to search for */ publisher?: string; /** * One of a predefined list of strings representing top level categories on Audible */ category?: Category; /** * Whether or not to limit the search to Audible Originals * * @defaultValue `false` */ isAudibleOriginal?: boolean; /** * Whether or not to limit the search to Audible's Plus Catalog * * @defaultValue `false` */ isPlusCatalog?: boolean; /** * A timeframe from a predefined list of when the book was released */ releaseTime?: "soon" | "last30" | "last90"; /** * An array of strings representing the length of time the book can fall into * * Options: `<1` | `1-3` | `3-6` | `6-10` | `10-20` | `>20`; */ durations?: Duration[]; /** * An array of ISO 639-1 langauges codes to limit the books to from a pre-defined list * * Options: `en` | `es` | `de` | `fr` | `it` | `pt` | `ja` | `ru` | `af` | `da` | `zh` | `nl` */ languages?: SearchLanguage[]; /** * Whether or not to limit the results to Whisper Sync compatible books */ isWhisperSync?: boolean; /** * Pass this as either true or false to limit the results to abridged or unabridged books respectively */ isAbridged?: boolean; /** * The page number of the search results to view */ pageNum?: number; /** * The number of results to return * * @defaultValue `20` */ pageSize?: 20 | 30 | 40 | 50; /** * Whether or not to parse all of the information about each book from the search result, this will take much longer * * @defaultValue `false` */ getFull?: boolean; /** * A ISO 3166-1 alpha-2 country code representing the Audible site to search * * @defaultValue `us` */ site?: "us" | "ca" | "gb" | "au" | "fr" | "de" | "it"; } declare type SearchResults = { totalResults: number; results: Book[]; }; /** * Search the Audible website for a list of books matching your search criteria * * @param options - An object containing your search criteria * @returns A promise returning an array of book objects from the search results, along with total results */ export default function searchAudible({ keywords, title, author, narrator, publisher, category, isAudibleOriginal, isPlusCatalog, releaseTime, durations, languages, isWhisperSync, isAbridged, pageNum, pageSize, getFull, site, }?: SearchParams): Promise; export {}; //# sourceMappingURL=search-audible.d.ts.map