UNPKG

1.2 kBTypeScriptView Raw
1import type { AxiosInstance } from 'axios';
2import type { ClientOptions, RequestOptions, XKCDResultWithData } from './Interfaces';
3export declare class XKCDAPI {
4 protected readonly apiClient: AxiosInstance;
5 protected readonly options: ClientOptions;
6 private readonly JSON_INFO_FILE;
7 private readonly lowestIndex;
8 constructor(apiClient: AxiosInstance, options: ClientOptions);
9 /**
10 * Get a comic by index.
11 * @param index Index number
12 * @param options Request options
13 */
14 getByIndex(index: number, options: {
15 withData: true;
16 }): Promise<XKCDResultWithData>;
17 getByIndex(index: number, options?: RequestOptions): Promise<XKCDResultWithData>;
18 /**
19 * Get the latest comic.
20 * @param options Request options
21 */
22 getLatest(options: {
23 withData: true;
24 }): Promise<XKCDResultWithData>;
25 getLatest(options?: RequestOptions): Promise<XKCDResultWithData>;
26 /**
27 * Get a random comic.
28 * @param options Request options
29 */
30 getRandom(options: {
31 withData: true;
32 }): Promise<XKCDResultWithData>;
33 getRandom(options?: RequestOptions): Promise<XKCDResultWithData>;
34 private getImage;
35}