import { FexiosConfigs } from 'fexios';
export * from 'fexios';
import { MwApiBase as WikiSaikouCore, WikiSaikouInitConfig, MwApiParams } from './WikiSaikou.mjs';
export { FexiosSaikou, MediaWikiApiError, MwApiResponse, MwApiResponseError, MwParamNormalizer, MwTokenName, WikiSaikouConfig, WikiSaikouError, WikiSaikouErrorCode, createFexiosSaikou } from './WikiSaikou.mjs';
export { CookieJar, CookieJarItem } from 'fexios/plugins';

/**
 * WikiSaikou
 * @description Standalone MediaWiki API SDK with `mw.Api`-like API in any environments
 * @author Dragon-Fish <dragon-fish@qq.com>
 * @license MIT
 */
declare class MediaWikiApi extends WikiSaikouCore {
    private autoReloginEnabled;
    private loginCredentials?;
    constructor(config?: WikiSaikouInitConfig);
    /** @deprecated Use `new MediaWikiApi(config)` instead */
    constructor(baseURL: string, options?: Partial<FexiosConfigs>, defaultParams?: MwApiParams);
    private canAutoRelogin;
    private getAssertUser;
    private getAutoReloginRetries;
    private getParam;
    private hasParam;
    private setParam;
    private getAction;
    private toStringArray;
    private isLoginTokenRequest;
    private shouldSkipAutoRelogin;
    private isAssertUserFailed;
    private reloginIfNeeded;
    get cookieJar(): any;
    private handleBeforeRequest;
    private handleAfterResponse;
    login(lgname: string, lgpassword: string, params?: MwApiParams, postOptions?: {
        retry?: number;
        noCache?: boolean;
        autoRelogin?: boolean;
        autoReloginRetries?: number;
    }): Promise<{
        result: 'Success' | 'NeedToken' | 'WrongToken' | 'Failed';
        token?: string;
        reason?: {
            code: string;
            text: string;
        };
        lguserid: number;
        lgusername: string;
    }>;
    logout(): Promise<void>;
}

export { MediaWikiApi, MediaWikiApi as MediaWikiNodeClient, MediaWikiApi as MwApi, WikiSaikouCore as MwApiBase, MwApiParams, WikiSaikouCore, WikiSaikouInitConfig };
