import IESQuery from "../Interfaces/ITypes/IESQuery.type";
import IESObject from "../Interfaces/ITypes/IESObject.type";
import IESQueriesManager from "../Interfaces/IESQueriesManager.interface";
import AbstractSingleton from "./Singleton.abstract";
declare abstract class AbstractESMiddlewareBasis extends AbstractSingleton {
    readonly abstract SupportFor: {
        LibraryName: string;
        PackageName: string;
    };
    protected abstract QueriesManager: IESQueriesManager;
    abstract canICollect($: any): boolean;
    abstract collect($: any, query: IESObject | IESQuery | string, usePrefix: boolean): any;
    abstract collectFromQuery($: any, query: IESQuery, usePrefix: boolean): any;
}
export default AbstractESMiddlewareBasis;
