import type { AxiosInstance } from 'axios'; import type { ClientOptions, RequestOptions, XKCDResultWithData } from './Interfaces'; export declare class XKCDAPI { protected readonly apiClient: AxiosInstance; protected readonly options: ClientOptions; private readonly JSON_INFO_FILE; private readonly lowestIndex; constructor(apiClient: AxiosInstance, options: ClientOptions); /** * Get a comic by index. * @param index Index number * @param options Request options */ getByIndex(index: number, options: { withData: true; }): Promise; getByIndex(index: number, options?: RequestOptions): Promise; /** * Get the latest comic. * @param options Request options */ getLatest(options: { withData: true; }): Promise; getLatest(options?: RequestOptions): Promise; /** * Get a random comic. * @param options Request options */ getRandom(options: { withData: true; }): Promise; getRandom(options?: RequestOptions): Promise; private getImage; }