1 | import type { AxiosInstance } from 'axios';
|
2 | import type { ClientOptions, RequestOptions, XKCDResultWithData } from './Interfaces';
|
3 | export 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 | }
|