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

interface ClientLoginOptions extends MwApiParams {
    rememberMe?: boolean;
    loginmessageformat?: string;
    loginreturnurl?: string;
    logincontinue?: boolean;
}
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
 */
declare class MediaWikiApi extends WikiSaikouCore {
    clientLogin(username: string, password: string, params?: ClientLoginOptions): Promise<any>;
}
/**
 * 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
 */
declare class MediaWikiForeignApi extends MediaWikiApi {
    /** @deprecated Use `new MediaWikiForeignApi(config)` instead */
    constructor(baseURL?: string, defaultOptions?: Partial<FexiosConfigs>, defaultParams?: MwApiParams);
    constructor(config?: WikiSaikouInitConfig);
}

export { MediaWikiForeignApi as ForeignApi, MediaWikiApi, MediaWikiForeignApi, MediaWikiApi as MwApi, WikiSaikouCore as MwApiBase, MwApiParams, WikiSaikouCore, WikiSaikouInitConfig };
export type { ClientLoginOptions, ClientLoginResult };
