/** * MediaWiki Api for Axios * Provides the API call methods similar to `mw.Api` at non-mw environments * * @author Dragon-Fish * @license MIT */ import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'; import { Ref } from '@vue/reactivity'; export declare class MediaWikiApi { #private; baseURL: Ref; cookies: Record; constructor(baseURL?: string, options?: AxiosRequestConfig); static adjustParamValue(item: MwApiParams): string | MwApiParams | undefined; static createAxiosInstance({ baseURL, params, options, }: { baseURL: string; params: MwApiParams; options: AxiosRequestConfig; }): AxiosInstance; /** Syntactic Sugar */ get ajax(): AxiosInstance; get defaultOptions(): AxiosRequestConfig; set defaultOptions(options: AxiosRequestConfig); get defaultParams(): MwApiParams; set defaultParams(params: MwApiParams); /** Base methods encapsulation */ get(params: MwApiParams, options?: AxiosRequestConfig): Promise>; post(data: MwApiParams, config?: AxiosRequestConfig): Promise>; login(username: string, password: string, params?: MwApiParams): Promise<{ status: 'PASS' | 'FAIL'; username: string; }>; getUserInfo(): Promise<{ id: number; name: string; groups: string[]; rights: string[]; blockid?: number; blockedby?: string; blockedbyid?: number; blockedtimestamp?: string; blockreason?: string; blockexpiry?: string; }>; /** Token Handler */ getTokens(type?: MwTokenName[]): Promise>; token(type?: MwTokenName, noCache?: boolean): Promise; postWithToken(tokenType: MwTokenName, body: MwApiParams, options?: { tokenName?: string; retry?: number; noCache?: boolean; }): Promise>; postWithEditToken(body: MwApiParams): Promise>; getMessages(ammessages: string[], amlang: string | undefined, options: MwApiParams): Promise>; parseWikitext(wikitext: string, page?: string): Promise; } export declare class MediaWikiForeignApi extends MediaWikiApi { constructor(baseURL?: string, options?: AxiosRequestConfig); } export default MediaWikiApi; export { MediaWikiApi as MwApi, MediaWikiForeignApi as ForeignApi }; export type MwApiParams = Record; export type MwTokenName = 'createaccount' | 'csrf' | 'login' | 'patrol' | 'rollback' | 'userrights' | 'watch';