import { AxiosInstance, AxiosResponse } from "axios"; import { BookResponse, BookSearchResponse, AuthorResponse, AuthorQueryResults, Publisher, PublisherSearchResponse, Subject, SubjectSearchResponse, SearchIndexResponse, StatsResponse, BookSearchOptions, AuthorSearchOptions, AuthorDetailOptions, PublisherSearchOptions, PublisherDetailOptions, SubjectSearchOptions, IndexSearchOptions } from "./types"; /** * A typed wrapper for the ISBNdb v2 API. * * Instantiate using: * ```ts * const client = createIsbndbClient('API_KEY', 'PRO'); * const isbndb = new IsbndbService(client); * ``` */ export declare class IsbndbService { private client; constructor(client: AxiosInstance); /** * Fetch book details by ISBN-10 or ISBN-13. */ getBook(isbn: string, withPrices?: boolean): Promise>; /** * Search for books by keyword and optional filters. */ searchBooks(query: string, options?: BookSearchOptions): Promise>; /** * Fetch author details and book list by author name. */ getAuthor(name: string, options?: AuthorDetailOptions): Promise>; /** * Search authors by name. */ searchAuthors(query: string, options?: AuthorSearchOptions): Promise>; /** * Fetch publisher details and book list by publisher name. */ getPublisher(name: string, options?: PublisherDetailOptions): Promise>; /** * Search publishers by query. */ searchPublishers(query: string, options?: PublisherSearchOptions): Promise>; /** * Fetch a subject and its parent. */ getSubject(name: string): Promise>; /** * Search subjects by query. */ searchSubjects(query: string, options?: SubjectSearchOptions): Promise>; /** * Perform a general search across one of the supported indexes. */ searchIndex(index: "subjects" | "publishers" | "authors" | "books", options?: IndexSearchOptions): Promise>; /** * Retrieve general stats about the ISBNdb database. */ getStats(): Promise>; }