import { Subscription } from "rxjs";
import { PMID } from "./pmid";
import { EventDiscoveryService } from "./eventdiscovery.service";
/**
 * To Map inside buildDiscoverybject
 *
 * */
export interface Discovery {
    SWDiscoveryConfiguration: any;
    SWDiscovery: any;
    SWTransaction: any;
    URI: any;
    Literal: any;
    PropertyPath: any;
}
/**
 * DiscoveryService
 * Interface to use Discovery (Sparql request system) inside Angular component
 */
export declare class DiscoveryService {
    private _subject;
    url: string;
    mimetype: string;
    method: string;
    cache: boolean;
    logLevel: string;
    batchProcessing: number;
    pageSize: number;
    discovery: null;
    constructor();
    static buildDiscoveryObject(): Discovery;
    /**
     *
     * @returns return Discovery lib as a promise
     */
    loadDiscovery(): Promise<Discovery>;
    emit(event: EventDiscoveryService): void;
    on(eventName: string, action: any): Subscription;
    getConfiguration(): string;
    /**
     *
     * @param cid    : Pubchem identifier
     * @param meshid  : meshid : identifiers
     * @returns number of layzy pages/listOfLazyPage
     */
    getLazyPagesPMIDs(cid: string, meshid: string, config_str?: string): Promise<Array<any>>;
    getPMIDs(lazyPage: any): Promise<PMID[]>;
}
