import { FexiosConfigs } from 'fexios';
import { WikiSaikouCore, WikiSaikouInitConfig } from './WikiSaikou.js';
import { MwApiParams } from './types.js';
export * from './WikiSaikou.js';
export interface ClientLoginOptions extends MwApiParams {
    rememberMe?: boolean;
    loginmessageformat?: string;
    loginreturnurl?: string;
    logincontinue?: boolean;
}
export type ClientLoginResult = {
    status: 'PASS';
    username: string;
} | {
    status: 'FAIL';
    username: never;
    message: string;
    messagecode: string;
    canpreservestate: boolean;
};
/**
 * 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 {
    clientLogin(username: string, password: string, params?: ClientLoginOptions): Promise<{
        status: "PASS";
        username: string;
    }>;
}
/**
 * WikiSaikou for foreign wiki
 * @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 MediaWikiForeignApi extends MediaWikiApi {
    /** @deprecated Use `new MediaWikiForeignApi(config)` instead */
    constructor(baseURL?: string, defaultOptions?: Partial<FexiosConfigs>, defaultParams?: MwApiParams);
    constructor(config?: WikiSaikouInitConfig);
}
export { MediaWikiApi as MwApi, MediaWikiForeignApi as ForeignApi };
