import { FexiosConfigs } from 'fexios';
import { WikiSaikouCore, WikiSaikouInitConfig } from './WikiSaikou.js';
import { CookieJar, CookieJarItem } from 'fexios/plugins';
import { MwApiParams } from './types.js';
export * from './WikiSaikou.js';
export { CookieJar, CookieJarItem };
/**
 * WikiSaikou
 * @description Standalone MediaWiki API SDK with `mw.Api`-like API in any environments
 * @author Dragon-Fish <dragon-fish@qq.com>
 * @license MIT
 */
export 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(): CookieJar;
    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 as MwApi, MediaWikiApi as MediaWikiNodeClient };
