import BaseURLDirector from './util/builders/url/base.director.js';
import WikimediaDesktopURLDirector from './util/builders/url/desktop.director.js';
import WikimediaMobileURLDirector from './util/builders/url/mobile.director.js';
import VisualEditorURLDirector from './util/builders/url/visual-editor.director.js';
import RestApiURLDirector from './util/builders/url/rest-api.director.js';
import ActionParseURLDirector from './util/builders/url/action-parse.director.js';
export interface QueryOpts {
    action: string;
    format: string;
    prop: string;
    rdlimit: string;
    rdnamespace: string | number;
    redirects?: boolean;
    formatversion: string;
}
declare class MediaWiki {
    #private;
    private static instance;
    static getInstance(): MediaWiki;
    metaData: MWMetaData;
    baseUrl: URL;
    getCategories: boolean;
    namespaces: MWNamespaces;
    namespacesToMirror: string[];
    apiCheckArticleId: string;
    queryOpts: QueryOpts;
    urlDirector: BaseURLDirector;
    skin: string;
    wikimediaDesktopUrlDirector: WikimediaDesktopURLDirector;
    wikimediaMobileUrlDirector: WikimediaMobileURLDirector;
    visualEditorUrlDirector: VisualEditorURLDirector;
    restApiUrlDirector: RestApiURLDirector;
    actionParseUrlDirector: ActionParseURLDirector;
    visualEditorApiUrl: URL;
    actionApiUrl: URL;
    restApiUrl: URL;
    webUrl: URL;
    wikimediaDesktopApiUrl: URL;
    wikimediaMobileApiUrl: URL;
    modulePath: string;
    mobileModulePath: string;
    set username(value: string);
    set password(value: string);
    set actionApiPath(value: string);
    set restApiPath(value: string);
    set domain(value: string);
    set wikiPath(value: string);
    set indexPhpPath(value: string);
    set base(value: string);
    set modulePathOpt(value: string);
    private initializeMediaWikiDefaults;
    private constructor();
    hasWikimediaDesktopApi(): Promise<boolean>;
    hasWikimediaMobileApi(): Promise<boolean>;
    hasVisualEditorApi(): Promise<boolean>;
    hasRestApi(): Promise<boolean>;
    hasActionParseApi(): Promise<boolean>;
    hasCoordinates(): Promise<boolean>;
    hasModuleApi(): Promise<boolean>;
    private setWikimediaDesktopApiUrl;
    private setWikimediaMobileApiUrl;
    private setRestApiURL;
    private setVisualEditorURL;
    private setModuleURL;
    private setMobileModuleUrl;
    login(): Promise<void>;
    getNamespaces(addNamespaces: number[]): Promise<void>;
    extractPageTitleFromHref(href: any): any;
    getCreatorName(): string;
    getTextDirection(): Promise<TextDirection>;
    getSiteInfo(): Promise<{
        mainPage: any;
        siteName: any;
        langIso2: any;
        langIso3: any;
    }>;
    getSubTitle(): Promise<string>;
    getMwMetaData(): Promise<MWMetaData>;
    reset(): void;
}
declare const _default: MediaWiki;
export default _default;
